万圣节快到了,在这个节日之后,大多数人都需要戒掉含糖的食物。
编写一个接受正整数的程序。如果整数小于31 (1到30),输出这个ASCII-艺术杰克-o‘-灯笼,向右看,仿佛期待万圣节:
_____I_____
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|如果输入为31 (10月的万圣节日期),则输出相同的ASCII-o‘-灯,但向左看:
_____I_____
| | | | | | |
| |^| |^| | |
| | |^| | | |
| |VvVvV| | |
|_|_|_|_|_|_|如果输入大于31,输出一个看起来臃肿的ASCII‘-灯笼,它可能吃了太多的糖果。他可以向左或向右,因为厌恶可能会使人迷失方向。因此,产出:
_____I_____
| | | | | | |
| |o| |o| | |
| | |^| | | |
| |XXXXX| | |
|_|_|_|_|_|_|或
_____I_____
| | | | | | |
| | |o| |o| |
| | | |^| | |
| | |XXXXX| |
|_|_|_|_|_|_|随便你喜欢哪种。对于31以上的不同数字,它甚至可能有所不同。
发布于 2016-10-25 06:39:35
붕빠뿌빠삮빠싸빠받따싼사주따반따퍄속맣이
숚뽀빠소뚜번범뻐터번선야챠슊산받발따다뿌
분뽀더번투빠뿌삮뿌다뿌쑬섣뽀빠뼈ㅇ뚜범쑬
받발따또싾솒빠쏟싿솓아삲쏠쑧뽀터벋터볼설
뿌뻐뻐뻐선썬뻐퍼섟썫선뻐퍼샧셗뺘쎣뺘뼈선
받따반타파빠빠받따받반타타싾삲빠빠빠빠뿌
숟썭뻐선썭뻐섣썭뻐선썭뻐섣썯터범떠범뻐선
빠싽술빠싽산빠싽삳빠싽숟삮쎨뿌서탸쥬싸셔
쀼이썭솓쀼섣싻이연우섞빠쏠뱐선반노쌹뻐숛
손빠쓞유삯쏢으산뽀쌹쏡야뼈섣싺이셗처솓썱
아솓썲솑쏢삱쏜빠쌄숞뚜범범섩뻐분터뿌뻐튜
번이손쎫ㅇ야샨우쌃이쀼뱔뿌떠뽀투또뿌뽀노
본떠벋뻐떠번떠숃볌쎬볌섩뿌빠뽀펴봄벌뽀뻐
샯이멓삭뭏ㅇㅇ이멓샥뎌뵥뿌븀범이멓삭뭏맣
맣이ㅇ몋섨희ㅇㅇㅇㅇㅇ먛뻐살뽀ㅇ솕멓샮속在这里试试!(请手动复制和粘贴代码)
Aheui可能不适合打高尔夫球,但还是很有趣的。:)
N= 10
_____I_____
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|N= 31
_____I_____
| | | | | | |
| |^| |^| | |
| | |^| | | |
| |VvVvV| | |
|_|_|_|_|_|_|N= 40
_____I_____
| | | | | | |
| |o| |o| | |
| | |^| | | |
| |XXXXX| | |
|_|_|_|_|_|_|发布于 2016-10-25 00:56:39
“ẋƥḷỊKNṇ&JƝ¡'Ɲṣ,c;|Ṙɗ.hṿ#⁴ɠ³Ṙṅ’b8ị“ I|o^Xv_”
<32ị“o^XV“vX”y¢s13µ¹U31=³¤?Y全程序
TryItOnline!
在弹跳的帮助下打高尔夫球也许是可能的,ŒḄ。
“ẋƥḷỊKNṇ&JƝ¡'Ɲṣ,c;|Ṙɗ.hṿ#⁴ɠ³Ṙṅ’b8ị“ I|o^Xv_” - Link 1, Jack construction
“ẋƥḷỊKNṇ&JƝ¡'Ɲṣ,c;|Ṙɗ.hṿ#⁴ɠ³Ṙṅ’ - a base 250 integer
b8 - convert to base 8
ị - index into
“ I|o^Xv_” - literal " I|o^Xv_"
- makes this, without the line feeds:
_____I_____
| | | | | | |
| |o| |o| | |
| | |^| | | |
| |XvXvX| | |
|_|_|_|_|_|_|
<32ị“o^XV“vX”y¢s13µ¹U31=³¤?Y - Main link: n
<32 - 1 if n is less than 32 else 0
ị - index into
“o^XV“vX” - list of strings, ["o^XV","vX"]
y - map those characters (o->^ and X->V OR v->X) in string:
¢ - call last link (1) as a nilad
s13 - split into chunks of length 13
µ - monadic chain separation
? - ternary if:
¤ - nilad and links as a nilad
31=³ - 31 equals first argument
¹ - identity (do nothing if true)
U - upend (reverse each if false)
Y - join with line feeds发布于 2016-10-25 01:06:34
31点前后的脸点。
->n{puts ' _____I_____',(0..4).map{|i|s=[?|]*7*' _'[i/4]
s[5-n/31*2,5]=' | | o| |o |^| VvVvV_|_|_'[i*5,5];s.tr('ovV','^vVoX'[n/32*3,3])}}中未使用
f=->n{
puts ' _____I_____', #Draw top of pumpkin
(0..4).map{|i| #then 5 more lines
s=[?|]*7*' _'[i/4] #of 7 | separated by space or _ .
s[5-n/31*2,5]=' | | o| |o |^| VvVvV_|_|_'[i*5,5] #Add a line of face with 'o' eyes and 'VvVvV' mouth.
s.tr('ovV','^vVoX'[n/32*3,3]) #Substitute characters as necessary.
}
}
f[gets.to_i]https://codegolf.stackexchange.com/questions/97294
复制相似问题