2016 zaman kapsülü dizesindeki 74 karakteri kullanma
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
N kodu parçacıklarını aynı dilde yazın:
- 1. pasaj çıktılar
1
. - 2. pasaj çıktılar
2
. - 3. pasaj çıktılar
3
. - ... vb. ...
- N'inci pasajı çıktılar
N
(sayı, değişmez harf değil).
Bir "kod pasajı" bunlardan biri olarak tanımlanır:
- Normalde sayıyı veren herhangi bir giriş gerekmeyen tam program .
- Sayıyı normal olarak veren / veren hiçbir argüman olmayan bir işlev .
- Sayıyı değerlendiren bir REPL ifadesi.
(Bu üç değişkeni N parçacıklarınızda karıştırabilir ve eşleştirebilirsiniz.)
Birleştirilmiş N parçacıkları kümesinde kullanmanıza izin verilen karakterler tam olarak zaman kapsülünün 74 karakteri ve ayrıca floor(N/2)
her yerde kullanabileceğiniz ilave "joker" baytlardır .
Örneğin, zaman kapsülü üç tane içerdiği @
için, N parçacıklarınızın tamamında, joker karakter baytlarınızın @
bazılarını floor(N/2)
ek olarak kullanmaya karar vermediğiniz sürece , sadece üçe kadar mevcut olabilir @
.
Bu nedenle, joker karakterleri saymamakla birlikte, N snippet'lerinizdeki birleştirilmiş karakter kümesi, 74 zaman kapsülü karakterinin bir alt kümesi olmalıdır. Birleştirilmiş uzunlukları 74'ü aşamaz. Parçacıklar arasındaki zaman kapsülü karakterlerini veya joker baytları tekrar kullanamazsınız.
notlar
Snippet uzunluğu için başka bir sınır yoktur veya snippet başına kaç joker karakter kullanılabilir.
Tüm snippet'leri 1 - N için yazmalısınız. 0 - N-1 değil, k - N + k - 1 değil.
Parçacıklar bireysel olmalı, listeyi çıkaran bir pasaj değil
1, 2, 3, ..., N
.Çıktılar bunun gibi bir
3.0
yerde yüzen olabilir3
ve dilinizin doğal temeliyse , ondalık basamaktan başka bir taban kullanabilirsiniz . Tüm pasajlar için aynı tabanı kullanmanız gerekir.Joker karakterler, dilinizin kodlamasında bayt olarak sayılır . Bu muhtemelen ASCII olacaktır ancak örneğin
∞
kodlamada bir bayt sayılıyorsa, onu tek bir joker bayt olarak kullanabilirsiniz.Çok baytlı karakterler için joker bayt kullanabilirsiniz. örneğin
∞
, normalde üç bayttır, bu yüzden bir snippet'te kullanabilirsiniz, ancakfloor(N/2)
joker baytlarınızın üçüne mal olur.Yeni satır gibi
\r\n
bir bayt olarak kabul edilebilir.
Örnek
Python'da N = 4 sadece REPL kullanılarak mümkündür. Orada floor(4/2) = 2
joker.
1
zaman kapsülü gelen evrim bir ifadedir1
.2
yani tek bir joker karakterden oluşur2
. İçin değerlendirir2
.3
ayrıca tek bir joker karakterden oluşur. İçin değerlendirir3
. Artık joker karakter yok.4
neyse ki zaman kapsülü içinde ve o evals4
.
Bu snippet'ler kısa ve önemsizdir. Gerçek bir cevap muhtemelen daha karmaşık olacaktır.
(Python'daki beş yaş ve üstü kesinlikle mümkün olabilir, ancak bunu profesyonellere bırakacağım.)
puanlama
En yüksek N olan cevap kazanır; yani tamsayı merdivenini en yükseğe çıkaran kişi.
Beraberlik durumunda, en az joker karakter baytını kullanan cevap kazanır.
Hala bir kravat varsa, en az kümülatif karakteri kullanan cevap kazanır.
Yoksa hala bir kravat, önceki cevap kazanır.
07
Aynı mı 7
?
-
ne de n
...
4
Perl’in