100 baytlık uzun beyinli (BF) bir program yazmalısınız.
Bir karakter, sonuçta ortaya çıkan 100 yeni (99 bayt uzunluğunda) programdan mümkün olan her şekilde kaldırılacaktır. Program için Örn ++.>.
5 alt programlarıdır +.>.
, +.>.
, ++>.
, ++..
ve ++.>
.
Puanınız 100 programın ürettiği benzersiz çıktıların sayısı olacaktır. Daha yüksek puan daha iyidir.
ayrıntılar
- İlk karakter çıktıktan sonra programlarınız sonlandırılacaktır.
- Geçersiz veya sonlandırılmayan programlar ve boş çıktılar üreten programlar skora dahil edilmez.
- BF hücreleri 8 bit sarma hücreleridir. (255 + 1 = 0, 0-1 = 255)
- Programınıza girdi verilmiyor. Kodda kullanırsanız
,
, geçerli hücre olarak ayarlanır0
. - Başlangıç konumunun sol tarafında hücre yoktur. Örn
<.
. Geçersiz ancak.<
yürütme işlemi sonlandırıldığı için geçerlidir.
. Bant diğer yönde bağlanmamıştır. - Dengesiz köşeli parantez (
[
ve]
) olan programlar geçersiz. - Orijinal programınız 100 bayttan daha kısa olabilir, çünkü skoru değiştirmeden 100 bayta genişletmek kolaydır.
- Orijinal programınızın geçerli BF kodu olması gerekmez.
Sen kullanabilirsiniz Bu python3 programı (ideone bağlantı) Cevabınız skorunu belirlemek için. (Uzun süren programlar için maxstep
değişkeni değiştirmeniz gerekebilir .)
Misal
(Basit olması için bu program 100 bayttan kısadır.)
Solution: ++,+[-]+><.-,-.
Score: 3
Explanation:
Subprogram => Output
+,+[-]+><.-,-. => 1
+,+[-]+><.-,-. => 1
+++[-]+><.-,-. => 1
++,[-]+><.-,-. => 1
++,+-]+><.-,-. => None
++,+[]+><.-,-. => None
++,+[-+><.-,-. => None
++,+[-]><.-,-. => 0
++,+[-]+<.-,-. => None
++,+[-]+>.-,-. => 0
++,+[-]+><-,-. => 255
++,+[-]+><.,-. => 1
++,+[-]+><.--. => 1
++,+[-]+><.-,. => 1
++,+[-]+><.-,- => 1
Unique outputs are [0, 1, 255]
Score is 3 for ++,+[-]+><.-,-. (length = 15)
Beraberlik durumunda kazanan, daha kısa koda sahip olan kişidir. (Programınız Ayrıntılar bölümünde belirtildiği gibi 100 bayttan daha kısa olabilir.) Kodlar eşit uzunlukta ise kazanan önceki posterdir.
Bonus bulmaca: cesur kısıtlama olmadan puan 100 ile bir program bulabilirsiniz?