05AB1E , 162 159 157 byte
Mã
Chết tiệt, cách quá lâu, nhưng ít nhất đó là một cái gì đó:
">: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
Hãy thử trực tuyến!
Giải trình
Phần đầu tiên của mã tồn tại ">:U"V
, thiết lập Y
chuỗi đó. Sau đó, chúng tôi chỉ kiểm tra xem đầu vào có bằng 3. Điều đó được thực hiện ở I3Qi
phần đó. Nếu bằng nhau, chúng tôi in con chim khổng lồ:
N = 3
Nó đầu tiên bắt đầu với ð16×
chỉ đẩy 16 ký tự không gian. Sau đó, có một con số 7166b
. Điều này bao gồm ">:U "
một phần, với một chút trợ giúp từ Retina :). Tôi đã sử dụng tập lệnh này để chuyển đổi chuỗi thành số nhị phân. Sau đó, chúng tôi nhận được vào 1ð:0Y:
một phần, thay thế tất cả 1
với một nhân vật không gian và mỗi 0
với Y
, mà đã được thiết lập để >:U
. Sau đó, chúng tôi tăng cường D
chuỗi này, lưu trữ nó X
bằng cách sử dụng U
và J
oin ngăn xếp. Chúng tôi bật cái này bằng cách sử dụng ,
chuỗi in đầy đủ với một dòng mới. Tất cả những người khác sau đó đều dựa trên cùng một hoàng tử. Câu lệnh if kết thúc ở giây }
.
Việc chuyển đổi đầy đủ có thể được tìm thấy ở đây .
N = 2
Bây giờ chúng tôi kiểm tra xem đầu vào có bằng 2. Điều này được thực hiện ở ¹2Qi
phần này. Sau đó, nếu bằng nhau, chúng ta đẩy nhân vật không gian 4 lần bằng cách sử dụng ð4×
. Sau đó, chúng tôi đẩy " U U"
chuỗi và lưu trữ bằng cách sử dụng ©
(ý tưởng bị đánh cắp một cách trắng trợn từ Jelly: p). Chúng tôi một lần nữa J
oin ngăn xếp và in này với một dòng mới. Sau đó, chúng tôi đẩy "> :"
chuỗi, lấy lại " U U"
bằng cách sử dụng ®
, J
oin ngăn xếp và tăng D
chuỗi này và in cả hai trên cùng một dòng.
Bài kiểm tra ngắn, điều này sẽ làm gì : " > "?®,
?
Sau khi in chuỗi trên, chúng ta nhận được bản sao của dòng thứ hai của khuôn mặt và in chuỗi này (vì nó giống với dòng thứ 2).
Phần cuối cùng trong trường hợp này là:
ð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
Điều này dễ giải thích hơn:
¹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