Güncellemeler: Zaman sınırı kaldırıldı. Çıktıyı tanımlayabilmeniz gerekir - yeni kurala bakın.
Bir pangram alfabedeki her harfi en az bir kere kullanan bir cümledir, örneğin:
Bir mükemmel pangram tam olarak bir kez her harfi kullanır.
Yazdırılabilir 95 ASCII karakterini (onaltılık kodlar 20 ila 7E) alfabetik harf kullanarak kullanarak mükemmel bir pangram olan bir program yazmayı düşünün :
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Böyle bir program, her yazdırılabilir ASCII karakterinin tam olarak bir kez, ancak herhangi bir sırada gerçekleşmesi durumunda, tam olarak 95 karakter içermelidir. (Böylece 95! = 1.03 × 10 148 olasılık vardır.)
Göreviniz bu programı stdout'a yazdırılabilir yazdırılabilir ASCII karakterlerinin sayısı mümkün olduğu kadar yüksek olacak şekilde yazmaktır (yani üretken).
Puanınız, programınızın çıkardığı yazdırılabilir ASCII karakterlerinin sayısıdır ( toplam tutar, farklı miktar değil : AABC
puanlar 4 iken ABC
puanlar 3) . En yüksek puan kazanır.
ayrıntılar
- Çıktı herhangi bir karakter (kopyalar dahil) içerebilir, ancak yalnızca yazdırılabilir ASCII karakterlerinin örnekleri, puanınıza göre sayılır.
- Herhangi bir dizideki yazdırılabilir ASCII karakterlerinin sayısını saymak için bu JSFiddle'ı kullanabilirsiniz .
- Dilinizde stdout yoksa en uygun alternatifi kullanın.
- Programın ...
- Sonlu çalışma zamanına sahip olmalı (zaman sınırı kaldırıldı)
- sonlu çıkışa sahip olmalı
- yorum içerebilir
- derlenmeli ve hatasız olarak çalıştırılmalıdır
- bilgi istememeli veya giriş gerektirmemeli
- zamanla değişmez ve deterministik olmalı
- harici kütüphaneleri kullanmamalı
- ağ bağlantısı gerektirmemelidir
- harici dosyaları kullanmamalı
- (dosya adını değiştirmek programın davranışını değiştirmediği sürece programın kendisini kullanabilirsiniz)
- Bu görev mümkün değilse, sadece çok kötü olan bir dildir.
- Tam çıktınızı vermelisiniz veya bir gönderiye sığmayacak kadar büyükse kesin olarak tanımlamanız gerekir . Aslında programınızı çalıştırmak zorunda değilsiniz. Sürece olarak olur bir bellek sınırsız miktarda bir bilgisayarda bir zaman sonlu miktarda çalıştırmak o geçerlidir.
Örnek
Bu basit Python 2 programı olası bir çözümdür:
print 9876543210#!"$%&'()*+,-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjklmoqsuvwxyz{|}~
9876543210
Yazdırılabilir 10 ASCII karakteri içeren ve böylece 10 puan alan çıktılar .
a
altı katrilyon kez basmak gibi saçma bir konstrüksiyona yol açacaktı; karakter sayımı. Her neyse, 95 yaşımla hala gurur duyuyorum, küçük olsa bile. Boyut her şey değildir, biliyorsun.