首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >整体情感

整体情感
EN

Code Golf用户
提问于 2014-09-10 11:15:48
回答 5查看 1.1K关注 0票数 12

编写一个对给定整数n“反应”的程序或函数(通过函数参数/args/stdin输入)

这个程序不关心负数,喜欢偶数,不喜欢奇数,害怕数字13。

它应输出以下内容:

if n<0:

代码语言:javascript
复制
 --------------------------
 |                        |
 |                        |
(|      _          _      |)
 |                        |
 |                        |
 |                        |
 |                        |
 |       oooooooooo       |
 |                        |
 |                        |
 |                        |
 --------------------------

若n%2 == 0和n>-1:

代码语言:javascript
复制
 --------------------------
 |                        |
 |                        |
(|      ^          ^      |)
 |                        |
 |                        |
 |                        |
 |     o            o     |
 |       oooooooooo       |
 |                        |
 |                        |
 |                        |
 --------------------------

当且仅当n%2 == 1和n>-1和n!=13:

代码语言:javascript
复制
 --------------------------
 |                        |
 |                        |
(|      >          <      |)
 |                        |
 |                        |
 |                        |
 |                        |
 |       oooooooooo       |
 |     o            o     |
 |                        |
 |                        |
 --------------------------

if n==13:

代码语言:javascript
复制
 --------------------------
 |                        |
 |                        |
(|     (O)        (O)     |)
 |                        |
 |                        |
 |       oooooooooo       |
 |       o        o       |
 |       oooooooooo       |
 |                        |
 |                        |
 |                        |
 --------------------------

以字节为单位的最短解决方案获胜。

EN

回答 5

Code Golf用户

回答已采纳

发布于 2014-09-13 02:44:27

CJam - 169

代码语言:javascript
复制
S24*aB*2li_D=3{_0<2{_2%}?}?\;:X"^^<>__":s"(O)"a2*+2/=~6X3=-{S*_@+_,C\-S*2*+@@++}:F~t7'o5*_7F:MtX3={5Mt6'o_7Ft}*X2<{X2*6+'o_5Ft}*{" |"\+'|+}%S'-26*+aa2*\*_3=1>"()"\*3\tN*

http://cjam.aditsu.net/试一试

高级解释:

S24*aB*为没有边的面构造了一个充满空间的矩阵。

li_D=3{_0<2{_2%}?}?\;:X读取数字并将其转换为0(偶数)、1(奇数)、2(负)或3 (13),并将其存储在X中。

X"^^<>__":s"(O)"a2*+2/=~选择眼睛类型(2个字符串)

{S*_@+_,C\-S*2*+@@++}:F -函数F接受两个字符串(例如S1,S2)和一个数字(例如N),并生成一个包含N个空格、S2、其他空格、S1、N个空间的24字符字符串。

2 (eyes) 6X3=- (F)~t将眼睛线放置在矩阵中

7'o5*_7F:Mt在矩阵中放置常用的口线,并将其保存在M中。

X3={5Mt6'o_7Ft}*,如果X是3,它又将M放在矩阵中,高出2行,并将口边放在中间。

X2<{X2*6+'o_5Ft}*如果X为0或1,则将嘴角放置在适当的位置

{" |"\+'|+}%在每条线上增加垂直边和左边的空格。

S'-26*+aa2*\*添加水平边

_3=1>"()"\*3\t增加耳朵

N*添加换行符

票数 4
EN

Code Golf用户

发布于 2014-09-10 18:34:11

C# - 349字节

当然不会赢得任何奖项,而是一种不同的做事方式。

高尔夫球:

代码语言:javascript
复制
class P{static void Main(string[]A){int j=64,i,r=0,n=int.Parse(A[0]);for(var f=(n<0?"IDID-TDTD-":n==13?"HDHD(IDIDOJDJD)SDSD(TDTDOUDUD)KIRI JHSJo":n%2<1?"IDID^TDTD^HIHIoUIUIo":"IDID>TDTD<HKHKoUKUKo")+@"JJSJoCBZM BB[M|BA[N-ADAD(\D\D)AA\N AA]N"+"\n";j++<78;)for(i=64;i++<93;System.Console.Write(f[r]))for(r=0;f[r++]>i|f[r++]>j|i>f[r++]|j>f[r++];r++);}}

较少的高尔夫球:

代码语言:javascript
复制
class P
{
    static void Main(string[]A)
    {
        int j=64,i,r=0,n=int.Parse(A[0]); // everything is offset by 65 in this program

        for(
            var f=(n<0?"IDID-TDTD-": // this string describes a set of rectangles (x1,y1,x2,y2,ch)
                n==13?"HDHD(IDIDOJDJD)SDSD(TDTDOUDUD)KIRI JHSJo":
                n%2<1?"IDID^TDTD^HIHIoUIUIo":
                "IDID>TDTD<HKHKoUKUKo"
                )+@"JJSJoCBZM BB[M|BA[N-ADAD(\D\D)AA\N AA]N"+"\n";

            j++<78;) // the loop then prints the rectangles to the screen
            for(i=64;i++<93;System.Console.Write(f[r]))
                for(r=0;f[r++]>i|f[r++]>j|i>f[r++]|j>f[r++];r++);
    }
}
票数 4
EN

Code Golf用户

发布于 2014-09-10 15:35:12

Python2-255

不算太短,但我还是会发出去的:

代码语言:javascript
复制
n=input()
o='o'
S='  '
w=y=7*S
b=' '+'-'*26+'\n'
p=' |%19s     |\n'
E=p%y*2
v=S+o*10+S
u=z=o+6*S+o
A=a='^ '
if n%2:A='< ';a='> ';u=y;w=z
if n<0:A=a='_ ';u=w=y
if n==13:A=a='(O)';u=w=v;v=S+o+S*4+o+S
print b+E+'(|%8s%11s     |)\n'%(a,A)+E+p%u+p%v+p%w+E+b

我错过了Python!:中字符串的项分配(然后可以从字符矩阵开始,只需修改眼睛和嘴。

票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/37561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档