05AB1E , 162 159 157 bayt
kod
Kahretsin, çok uzun, ama en azından bir şey:
">:U"VI3Qið16×7166b1ð:0Y:DUJ,Yð13×JD?X,3838b1ð:0Y:D?X,16255b1ð:0Y:D?X,16367b1ð:0Y:4F?X,}ð21×Y3×J,}¹2Qið4×" U U"©J,"> :"®JD," > "?®,,ð6×'U3×J,}¹iY,}"quack
Çevrimiçi deneyin!
açıklama
Kodun ilk bölümü, dizgeye ">:U"V
ayarlanan bölümden oluşuyor Y
. Ondan sonra, girişin 3'e eşit olup olmadığını kontrol ederiz. Bu I3Qi
kısımda yapılır . Eşitse, dev magpie'yi yazdırıyoruz:
N = 3
İlk önce ð16×
sadece 16 boşluk karakterini iten ile başlar . Ondan sonra bir numara var 7166b
. Bu ">:U "
, Retina :) 'dan biraz yardım alarak , parçayı kapsıyor . Bu betiği dizgiyi ikili sayıya dönüştürmek için kullandım . Bundan sonra olsun 1ð:0Y:
her yerini parçası, 1
bir boşluk karakteri ve her ile 0
birlikte Y
olarak ayarlandı, >:U
. Ondan sonra D
, bu dize oğalt depolamak X
kullanarak U
ve J
yığın oin. Bu ,
dizeyi, dizgenin tamamını yeni bir satırla yazdırarak çıkardık. Bundan sonra diğerleri, aynı prensibe dayanır. İf ifadesi ikinci sırada biter }
.
Tam dönüşümü burada bulabilirsiniz .
N = 2
Şimdi girişin 2'ye eşit olup olmadığını kontrol ediyoruz. Bu ¹2Qi
kısımda yapılır . Bundan sonra, eşitse, boşluk karakterini 4 kez kullanarak iteriz ð4×
. Ondan sonra " U U"
ipi itip kullanarak ©
saklıyoruz (Jelly: p'den açıkça çalınan fikir). J
Yığını yeniden yağdırıp bunu yeni bir satırla basarız. Ondan sonra "> :"
dizgeye basar, " U U"
kullanırız ®
, J
yığını kullanırız ve D
bu dizgiyi çoğaltırız ve ikisini de aynı satıra yazdırırız.
Kısa bilgi yarışması, bu ne yapacak: " > "?®,
?
Yukarıdaki dizeyi yazdırdıktan sonra, yüzün ikinci satırının kopyasını alıyoruz ve bunu yazdırıyoruz (çünkü 2. satırla aynı).
Bu davanın kapsadığı son kısım:
ð6×'U3×J,
ð6× # Push the space character × 6
'U3× # Push the "U" character three times
J, # Join and print pop with a newline
N = 1
Bunu açıklamak daha kolay:
¹1QiY
¹1Qi # Check if the input is equal to 1
Y # Push the magpie face
# This is then implicitly printed
N = 0
¹0Qi"quack
¹0Qi # Check if the input is equal to 0
"quack # Weird sound what magpies make
# Implicitly printed