D,g,@~~,L2_|*;;*|_2L,@,g,D
D,ff,@^^,BG€gBF;;FBg€GB,@D1:?:
xx:?
aa:1
`bb
Bxx;;B
Waa*bb,`yy,$ff>xx,`aa,xx|yy,`bb,Byy,xx:yy
O;;O:,B,`,|,`,>$,`,*W`
在线尝试!
有趣的事实:在开始解释之前,这是272个字节长,现在已经超过Java。
True
完美平衡弦的输出,False
否则
令我感到非常满意的是,这比无聊的palindromize版本少了2个字节,以防止结果被打印两次。我的目标也是使死代码尽可能少,但是仍然有一些注释掉的部分,并且在打印正确的值后,代码以错误代码1退出。
注:用一个错误BF
的命令是固定的,而这个答案是发展。
怎么运行的
ffgffffgSff(S)S
Sabbbaabacc[[a],[bbb],[aa],[b],[a],[cc]]g,然后将子列表替换为函数的结果。
g2x[a][bb][ccc]
[a]⇒[a,1]
[bb]⇒[b,b,0]
[ccc]⇒[c,c,c,1]
xx>2x−2x*
g(s)sBF
^
D,ff,@^^,
grr;;
ffgff
- xxff
- yyff
- aa
- bbyy
gxyabg
€
abc{...}
g{...}
ggffg
D,gg,@~~,L2_|*;;*|_2L,@D (NB: -2 bytes)
D,ff,@^^,BG€{gg}BF;;FB}gg{€GB,@D?: (NB: +6 bytes)
长4个字节。
x=5x=15
x+10 ; Explicit argument
+10 ; Implicit argument, as x is active
x`
ffgxxxx:?
xxaaaa:1
1xxbb
`bb
Bxx
bbxxaa:=1bb:=¬¬xx
然后我们进入while循环:
Waa*bb,`yy,$ff>xx,`aa,xx|yy,`bb,Byy,xx:yy
while循环是Add ++中的一种结构:它直接对代码而不是变量进行操作。构造采用一系列代码语句,并对其进行分离,
。while和if语句也要在第一个条件之前紧接一个条件,该条件,
由单个有效语句组成,例如带变量的infix命令。需要注意的一件事:活动变量不能从条件中省略。
aa*bb
aabbyyff(x)
`yy,$ff>xx
aa
- 1)新值不等于旧值(唯一时循环)
- 2)新值不是空字符串
Add ++最大的缺点之一是缺少复合语句,这需要使用第二个循环变量。我们分配两个变量:
aa:=xx≠yy
bb:=¬¬(yy)
用代码
`aa,xx|yy,`bb,Byy
|
B
xxyyxx:yy
ffaabb
aax=yaayybbaa
然后,我们得出最终声明:
O
bb
- aa=1bb=FalseFalse
- aa=Truebb=FalseFalse
- aa=Falsebb=TrueTrue
bbbbTrueFalse