我只是说一个自然日志,因为标题太短,这与对数无关。
给定两个变量:
n。w的宽度。输出宽度为w的n ants日志(示例显示w=3、n=6)
| |
| \O/ \O/ \O/ |
| -O- -O- -O- |
| /o\ /o\ /o\ |
| ^ ^ ^ |
| |
| \O/ \O/ \O/ |
| -O- -O- -O- |
| /o\ /o\ /o\ |
| ^ ^ ^ |
| |一只蚂蚁看起来是这样的:
\O/ # Upper-case O
-O- # Upper-case O
/o\ # Lower-case o
^ w宽的,有n/w行的蚂蚁。| |
| \O/ \O/ \O/ |
| -O- -O- -O- |
| /o\ /o\ /o\ |
| ^ ^ ^ |
| |
| \O/ \O/ |
| -O- -O- |
| /o\ /o\ |
| ^ ^ |
| || |
| \O/ |
| -O- |
| /o\ |
| ^ |
| || |
| \O/ |
| -O- |
| /o\ |
| ^ |
| |
| \O/ |
| -O- |
| /o\ |
| ^ |
| |
| \O/ |
| -O- |
| /o\ |
| ^ |
| |这是密码-高尔夫,拥有最小字节的人获胜。
发布于 2017-04-22 02:14:56
n,w=input()
s=' ';k='|';a=k+s*w*4+s+k;print a
while n>0:
for i in['\\O/','-O-','/o\\',' ^ ']:print k+s+(i+s)*min(w,n)+s*4*(w-n)+k
n-=w;print a发布于 2017-04-21 20:54:21
" \O/-O-/o\ ^ "5äðìI.D)IôvyøJ'|ì})˜¬¸«.B„ |«»" \O/-O-/o\ ^ " # push the ant-string
5ä # split into 5 parts
ðì # prepend a space to each
I.D # copy input-1 number of times
) # wrap in a list
Iô # split into parts each the size of input-2
v # for each row of ants
yø # zip, so body parts are on the same row
J'|ì # join to string and prepend a pipe to each
} # end loop
)˜ # wrap in a flattened list
¬¸« # append a copy of the first row (spaces)
.B # pad rows to equal length with spaces
„ |« # append " |" to each row
» # merge on newlines发布于 2017-04-24 06:00:20
StringRiffle[If[#2==c||#2==1,"|",If[r-#1<6&>2+4 (a+w-h w),Table[" ",5,4],Characters@" \\O/ -O- /o\\ ^ "~Partition~4][[1+Mod[#1-1,5],1+Mod[#2+1,4]]]]&~Array~{r=5(h=⌈(a=#)/(w=#2)⌉)+1,c=4w+3},"\n",""]&我想我需要一个基于数学的高尔夫语言。
https://codegolf.stackexchange.com/questions/117268
复制相似问题