Anagram Quine, sadece Quine değil!


10

Görev

Bu meydan okumada, göreviniz, girdi almayan, mümkün olduğunca çok sayıda anagram içeren bir program yazmaktır.

Puanınız, programınızın kaynak kodunun geçerli sıralar olan anagram sayısının, mümkün olan toplam anagram sayısına bölünmesi, yani geçerli sıralar olan anagramların yüzdesi olacaktır.

Standart Boşluk Doldurma ve standart quines kuralları geçerlidir.

Not: Programınızın en az 3 karakteri olmalıdır (3 bayt değil).


Giriş

Kendi programınız olan programınızın her bir anagramı (veya permütasyonu) (yani puanınıza dahil ettiğiniz anagramlar) herhangi bir girdi almamalıdır. Diliniz zorunlu olarak girdi gerektiriyorsa, programınıza küçük A harfinden oluşan bir Dize verileceğini varsayabilirsiniz. Ancak, girdiyi hiçbir şekilde kullanmamalısınız.


Çıktı

nprogramınızın kaynak kodunun farklı anagramlarının sayısı, geçerli puanlar olmalıdır; burada n, puanınıza dahil ettiğiniz anagramların sayısını temsil eder;

Matematik Denklemi

Bu kine-anagaramlar, çıktıyı bir değişkene yazmak dışında herhangi bir şekilde çıktı alabilir. Dosyaya, konsola, ekrana vb. Yazılabilir. Fonksiyona returnda izin verilir.


Puanlama Örneği

Programınızın kaynak kodunun olduğunu varsayalım code. Ve,

  1. codeçıktılar code.
  2. coedçıktılar coed.
  3. cdoeçıktılar cdoe.
  4. cdeoçıktılar cdeo.
  5. cedoçıktılar cedo.
  6. ceodçıktılar ceod.
  7. ocdeçıktılar ocde.
  8. ocedçıktılar oced.
  9. odceçıktılar odce.
  10. odecçıkmıyor odecveya hata veriyor.
  11. oedcçıkmıyor oedcveya hata veriyor.
  12. oecdçıkmıyor oecdveya hata veriyor.
  13. doceçıkmıyor doceveya hata veriyor.
  14. doecçıkmıyor doecveya hata veriyor.
  15. dcoeçıkmıyor dcoeveya hata veriyor.
  16. dceoçıkmıyor decoveya hata veriyor.
  17. decoçıkmıyor decoveya hata veriyor.
  18. deocçıkmıyor deocveya hata veriyor.
  19. eodcçıkmıyor eodcveya hata veriyor.
  20. eocdçıkmıyor eocdveya hata veriyor.
  21. edocçıkmıyor edocveya hata veriyor.
  22. edcoçıkmıyor edcoveya hata veriyor.
  23. ecdoçıkmıyor ecdoveya hata veriyor.
  24. ecodçıkmıyor ecodveya hata veriyor.

Bu çözümün puanı

Matematik Denklemi


Kazanan Ölçüt

En yüksek puana sahip çözüm kazanır! Beraberlik durumunda, daha yüksek karakter sayısı (bayt sayısı değil) ile cevap kazanır (dolayısıyla )! Bir kravat hala devam ederse, daha önce yayınlanan çözüm kazanır!



@NeilA. Döndürme güvenli bir sorgunun aslında Unary'den başka dillerde yazılabileceğinden çok daha eminim (birçok dilde olmasa da hala zor olacak).
Martin Ender

Muhtemelen şimdi özellikleri değiştirmek için çok geç, ama muhtemelen orijinal programın sayılmadığını belirtmelisiniz, aksi takdirde bu aslında vanilya quine sorumumuzun bir kopyası gibi görünüyor.
SuperJedi224

Yanıtlar:


7

Tekli,% 100

Bu, ikisinin birbiriyle ilişkili olması nedeniyle Lenguage cevabı ile aynıdır . Bence dikkat çekmeye değer. % 100 olarak puan aldım çünkü kodun her permütasyonu kendi başına bir quine neden olacak ve X / X * 100 =% 100 olarak görüyorum.

5.71728886e + 3431 sıfır. Tam sayı bu snippet'te bulunabilir:

Brainf * ck eşdeğeri bu snippet'te:

Kaynağın kaynağı


Kazandığınız için tebrikler! :)
Arjun

1
@Arjun Teşekkürler ama Legrange yanıtı ilkti ve aynı puanı aldı. Bunun yerine kazanması gerekir.
Mühendis Tost

@EngineerToast Demek istediğim benim için önemli değil, CW yani +15: P
Christopher

4

Dil,% 100

5.71728886e + 3431 boş bayt. Tam sayı bu snippet'te bulunabilir:


@ETHproductions bunu düzeltti. Galiba kazandım
Christopher

5.71728886e + 3431 boş bayt falan mı çıktı ?
ETHproductions

@ETHproductions Evet sanırım.
Christopher,

CW yaptı çünkü bunu kaldırmak için olmayabilir: P
Christopher

@Christopher Bunun deşifre edilebilmesi için kesin miktarda bayt eklemeniz gerekir. Şu anda bunun ne yaptığını anlatmanın bir yolu yok.
Ad Hoc Garf Hunter


2

Mikroscript II, skor 1/1814399 = 5.5e-7

"qp1h"qp1h

"qph1"qph1 aynı zamanda bir quine.

Mikroscript II, skor 5/119750399 = 4.2e-8

"qp12h"qp12h

"qp21h"qp21h, "qph12"qph12, "qph21"qph21, "qp1h2"qp1h2Ve "qp2h1"qp2h1ayrıca quines bulunmaktadır.

Eminim birisi bunlardan herhangi birinden çok daha yüksek bir puan ile gelebilir, ama bu hala orijinal program olmayan en az bir soru ile tek cevap (IMO, sayılmamalıdır).


1

V , 16.666 ...%

2i2i

Çevrimiçi deneyin!

Bu kodun 6 olası anagramı vardır:

2i2i
22ii
i22i
i2i2
ii22
2ii2

Ve bunlardan biri bir kınamak.


Orijinal programın kendi anagramı olarak sayılması gerektiğinden emin değilim, ancak OP buna izin veriyor gibi görünüyor.
SuperJedi224
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.