Yaklaşık bir yıl önce 31 Aralık 2015 tarihinde, şunu düşündüm:
Kapı tokmağı nezaketle toplanan karakterleri gelen PPCG toplum ve bir yıl boyunca onları güvende tuttu.
Bir kuyruklu 74 kişi katıldı, bu yüzden oynayacağımız bir 74 basılabilir ASCII karakterimiz var!
2016 zaman kapsülü dizesinin gönderildiği sıraya göre 74 karakter:
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
2016 ASCII sırasındaki 2016 zaman kapsülü dizesinin 74 karakteri:
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
Çalışmak için çok fazla bir şey yok, ama buralarda bir meydan okumayı seviyoruz.
Meydan okuma
Zaman kapsülü dizgisinde hangi dilin "en iyi" olduğunu belirlemek için , her birinde 74 zaman kapsülü karakterinin bir alt kümesini kullanmanız gereken zorlukta artan 6 (201 6 ) zorluk vardır.
6 farklı zorluğa sahip olmak, daha fazla dilin rekabet edebilmesini sağlamaya yardımcı olur, ancak yalnızca en iyi diller hepsini yanıtlayabilir ve yüksek puanlar alabilir.
Puanlama:
- Her meydan okuma kaç karakterin kullanıldığına bağlı olarak 0 ile 74 arasında puanlanır.
- Yüksek puanlar daha iyidir.
- Diliniz bir meydan okumayı tamamlayamıyorsa, bu meydan okuma için puanınız 0'dır.
- Zorlukların boş olmayan herhangi bir alt kümesi tamamlanabilir.
- Son puanınız, 6 yarışmanın tümünden elde edilen puanların toplamıdır.
- Mümkün olan en iyi final puanı 6 × 74 veya 444'tür .
Mücadeleler
1. Çalıştır
Bir dilin kodu ilk etapta çalıştırılamıyorsa hiçbir şey yapamaz.
Derleme zamanı veya çalışma zamanı hataları olmadan çalışan / yürüten mümkün olan en uzun programı yazın (yalnızca 74 zaman kapsülü karakterini kullanın, unutmayın).
Programın ne yaptığı önemli değil, girdi / çıktıya sahip olması veya sonsuz bir döngüye girmesi önemli değil, sadece hatasız çalışması önemli. (Kötü kullanıcı girişinin neden olduğu hatalar gibi uyarılar tamamdır.)
Yorumlara izin verilir, bu yüzden bu kadar basit olabilir
#H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
Python'da 74 puan için.
(Dilinizin tamamlayabileceği tek zorluk buysa, cevap vermekten korkmayın, ancak çok fazla oy beklemeyin.)
Puan = program uzunluğu (daha uzun program daha iyi)
2. G / Ç
Girdi veya çıktısı olmayan bir dil, koşamayan bir dil kadar işe yaramaz.
Bir Verilen yazdırılabilir ASCII karakteri !
(0x33) için }
yazdırılabilir ASCII karakter önce ve ondan sonra (0x7D) dahil, çıkış.
Çıktı, uzunluk iki dize ya da liste ya da boşluk ya da yeni satırla ayrılmış karakterler olabilir.
Örneğin giriş ise, }
çıkış olabilir |~
ya da ["|", "~"]
ya da | ~
ya da |\n~
.
Aynı şekilde, "
çıktı için !
ve AC
çıktıdır B
.
Puan = 74 - program uzunluğu (daha kısa program daha iyi)
3. Branşlanabilirlik
Şartlılamalar genellikle Turing tamlığı için bir gerekliliktir , bu genellikle bir dilin faydalı olması için bir gerekliliktir.
O ondalık basamak içinde sona ererse, pozitif bir tamsayı Verilen 16
sonra değiştirmek 6
bir etmek 7
ve çıkış sonucu; Aksi takdirde, girdiyi değişmeden çıkartın. İsterseniz giriş / çıkış için dizeleri kullanabilirsiniz.
Örnekler:
2016 -> 2017
16 -> 17
116 -> 117
1616 -> 1617
6 -> 6
15 -> 15
17 -> 17
106 -> 106
2106 -> 2106
Puan = 74 - program uzunluğu (daha kısa program daha iyi)
4. Loopability
Döngü yapamayan bir dil tekrarlayan kodlar doğurur, bu nedenle sıkıcı bir süre programlama molası vermeniz gerekir.
Pozitif bir tamsayı verildiğinde, iki farklı yazdırılabilir ASCII karakteri arasında değişen eş merkezli daha küçük kareler içeren bir ASCII-sanat karesini yazdırın . Farklı girişler için aynı iki karakter olmaları gerekmez.
Örneğin:
1 <- input
X <- output
2
XX
XX
3
XXX
X-X
XXX
4
XXXX
X--X
X--X
XXXX
5
YYYYY
Y...Y
Y.Y.Y
Y...Y
YYYYY
6
XXXXXX
X----X
X-XX-X
X-XX-X
X----X
XXXXXX
7
ZZZZZZZ
Z-----Z
Z-ZZZ-Z
Z-Z-Z-Z
Z-ZZZ-Z
Z-----Z
ZZZZZZZ
Puan = 74 - program uzunluğu (daha kısa program daha iyi)
5. Matematik
Sayılar ve matematikle iyi olmayan bir dil, beşeri bilimler için de olabilir.
Girişten çıkmayın, 2016'daki 72 tamsayı bölenini olumlu ya da olumsuz olarak verin. Çıktı makul bir şekilde bir dize veya liste olarak biçimlendirilebilir.
Örnek:
-1, -2, -3, -4, -6, -7, -8, -9, -12, -14, -16, -18, -21, -24, -28, -32, -36, -42, -48, -56, -63, -72, -84, -96, -112, -126, -144, -168, -224, -252, -288, -336, -504, -672, -1008, -2016, 1, 2, 3, 4, 6, 7, 8, 9, 12, 14, 16, 18, 21, 24, 28, 32, 36, 42, 48, 56, 63, 72, 84, 96, 112, 126, 144, 168, 224, 252, 288, 336, 504, 672, 1008, 2016
Puan = 74 - program uzunluğu (daha kısa program daha iyi)
6. Ezoterizm
(Hayır, o .) Biz de PPCG bizim gibi ezoterik şeyler ve quines buna en iyi örnektir.
Normal quine kurallarına göre, alabildiğiniz en uzun quine yazın . Quine giriş yapılmayan ve kendini veren bir programdır.
Puan = program uzunluğu (daha uzun program daha iyi)
Özel Kurallar
- 6 zorluktan her birinde programınız istediğiniz şekilde yeniden düzenlenmiş 74 zaman kapsülü karakterinin bir alt kümesi olmalıdır . Boş bir alt küme veya uygun olmayan bir alt küme olabilir , bu nedenle programlarınızın her biri en az 0, en fazla 74 karakter içerebilir .
- Giriş / çıkış / kodun sonundaki tek bir son satır yeni bir yerdedir, çünkü bazı diller bunu gerektirir veya kolayca önlenemez.
- Aksi belirtilmedikçe, her bir meydan okuma varsayılan ayarlarımıza göre bir işlev veya tam program olarak tamamlanabilir .
- Tüm zorluklar aynı dilde tamamlanmalıdır.
- Dünyanın herhangi bir yerinde 2017 olmadan önceki bir dili (veya bir dilin sürümünü) kullanmanız gerekir .
- Zaman kapsülüne bir karakter ekleyip eklememediğiniz herkes size cevap verebilir.
2016 zaman kapsülü karakterlerini kendi zorluklarınızda kullanmaktan çekinmeyin.
6×74 or 444
Bunun bir şekilde farklı davrandığı boş programlar anlamına geleceğinden oldukça mümkün olmadığından emin olun . dolayısıyla, 442 gerçek minimum olduğu 3 giriş alarak programlardan ikisi de bir char var demektir gibidir,