05AB1E , 162 (159) 157 바이트
암호
젠장, 너무 길지만 적어도 뭔가 :
">: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
온라인으로 사용해보십시오!
설명
코드의 첫 번째 부분은의 문자열로 ">:U"V
설정 Y
됩니다. 그런 다음 입력이 3과 같은지 확인하면됩니다 I3Qi
. 같으면 거대한 까치를 인쇄합니다.
N = 3
먼저 ð16×
16 개의 공백 문자를 입력합니다. 그 후에는 숫자가 7166b
있습니다. 이것은 ">:U "
Retina의 약간의 도움으로 부분을 다룹니다 :). 이 스크립트 를 사용 하여 문자열을 이진수로 변환했습니다. 그 후, 우리는에 도착 1ð:0Y:
모든 대체 부분, 1
공백 문자와 각과 0
와 Y
설정되었습니다 >:U
. 그 후, 우리는 D
이 문자열을 uplicate에 저장 X
사용 U
및 J
스택 OIN. 우리는 이것을 사용 ,
하여 전체 문자열을 줄 바꿈으로 인쇄합니다. 그 이후의 다른 모든 항목은 모두 동일한 프린시 페를 기반으로합니다. if 문은 두 번째로 끝납니다 }
.
전체 변환은 여기 에서 찾을 수 있습니다 .
N = 2
이제 입력이 2인지 확인합니다. 이것은 ¹2Qi
부분 에서 수행됩니다 . 그 후, 같으면를 사용하여 공백 문자를 4 번 누릅니다 ð4×
. 그 후, 우리는 " U U"
문자열 을 밀어 넣고 ©
(Jelly : p에서 도난당한 아이디어를 사용하여) 저장합니다 . 우리는 다시 J
스택에 손을 대고 개행으로 이것을 인쇄합니다. 그 후, 우리는 밀어 "> :"
문자열의 검색 " U U"
사용을 ®
, J
스택 OIN과 D
이 문자열을 uplicate과 같은 줄에 두 가지를 인쇄 할 수 있습니다.
간단한 퀴즈,이 작업은 무엇 " > "?®,
입니까?
위의 문자열을 인쇄 한 후, 얼굴의 두 번째 줄의 복제본을 가져 와서 인쇄합니다 (두 번째 줄과 동일하기 때문에).
이 사례에서 다루는 마지막 부분은 다음과 같습니다.
ð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
이것은 설명하기가 더 쉽습니다.
¹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