Dyalog APL官方2016年比赛


26

如果您认为这可能很有趣,但是工作量过多,请考虑参加这个小得多的挑战。


2016年有点有趣(可能还有挫败感!)…… Dyalog的“年度难题”。请享用!

目标

查找Dyalog APL(下载)表达式(允许使用其他语言,请参见下面的“ 资格”),该表达式精确地包含数字2 0 1 6,该数字等于0到100。例如:

20=16
×2016
2⌊016
2+0+1*6
...

目的是在每个表达式中使用尽可能少的字符(一个表达式的最小字符数为5 –四位数字2 0 1 6和一个原始函数/运算符)。

规则

  • 每个表达式必须包含数字2 0 1 6(按该顺序),并且不能包含其他数字。预设的常量和变量也不允许。
  • 除了四位数2 0 1 6以外,只能使用内置符号和名称,括号/大括号,空格,高减号和小数点。结果表达式必须是确定性的(即,在重复求值时得出相同的结果)。对于非APL,也可以使用带有名称的功能/操作符;和这里一样的规则。
  • 假定您的语言的所有默认设置。对于Dyalog APL,这意味着⎕ML⎕IO均为1,并且⎕PP为10。
  • 包括从0到100在内的所有数字的正确表达式的每个条目都将根据这些表达式所使用的字符数(不包括多余空格)(所有101个表达式的最小值505)进行评级。

合格

任何人都可以进入。您可以用任何语言回答,但只有APL回答会被考虑接受。如果您使用APL以外的其他语言,则可以使用代码片段,程序,函数等代替表达式,并且可以打印,将数字保留在可访问的内存位置,或者以其他方式返回结果,只要直接编写代码即可计算为所需的数字,作为您语言的任何标准数值数据类型。

截止日期

2016年11月30日。

奖品

  • 接受您的答案
  • 在Dyalog的2016年名人堂中永生不朽!

提交您的输入

2016年11月30日之后,我将接受最短的答案,并以您的名义将您的答案提交给Dyalog的2016年名人堂。

常问问题

  • 是否允许J(例如37 = ⌈⍟!20J16)?
  • 否:除了四位数字2 0 1 6之外,只能使用内置符号和名称,括号/大括号,空格,高减号和小数点。

  • 输出为字符串可以接受吗?
  • 否:等于0到100。

  • 物理数字还是数据数字?
  • 根据OP的数据位数:与此处的规则相同,其中一个示例包含LOG10(

  • 是否a+16+a←20允许赋值变量然后将其用作表达式的一部分(例如56 = )?
  • 是的,但是您可能无法在另一个表达式中使用一个表达式的赋值。

我有明确的书面许可,可以将此挑战的原始作者发布到此处。跟随提供的链接并与作者联系,以进行验证。我在张贴文章的那一刻就给了比赛的原始作者指向此页面的链接,以便他们检查我是否将某人的答案作为我自己的答案提交。



这么多答案,没有一个APL解决方案?
Akangka '16

1
@ChristianIrwan对,这是可以预料的:在APL中这样做的任何人都可能宁愿参加真正的竞赛,而不是在这里透露自己的秘密。
亚当

@Adám,这可能会晚了,但是使用⎕ML⎕IO(假定为1)可以接受吗?
扎卡里

@ZacharyT您的意思是将四边形名称放入表达式中?听起来好像有很多额外的角色,但几乎没有胜利。你能给我一个例子吗?
ADAM

Answers:


7

果冻,686字节

20=16
20>16
2+0%16
201%6
20%16
20%16‘
201a6
20>1+6
20%16Ḥ
2016DS
20Ho16
2016BL
20:1.6
20_1_6
20×1_6
20+1_6
20&16
20:+16
2+0+16
20+1^6
20|16
20|16‘
20|16‘‘
20%16!’
20%16!
20²:16
20H+16
20+1+6
20×1_6Ḥ
20×1_6Ḥ‘
20+1_6Ḥ
2016&½’
2016&½
201:6
201:6‘
20Cạ16
20+16
20+16‘
20+1^6Ḥ
20|16Ḥ’
20|16Ḥ
20|16Ḥ‘
20|16‘Ḥ
2016½Ḟ’
2016½Ḟ
2016½Ċ
2016½Ċ‘
20Ḥ+1+6
2r0×16S
201a6‘²
20²:16Ḥ
2r016+S
201ÆC+6
20&16ÆN
20H_1×6
20ạC+16
20Ḥ+16
20_1×6H
20_1×6H‘
20_1×6H‘‘
20+1_6ḤḤ
2+0+16ÆN
20:.16H
20+1×6H
2²+0×16
201:6Ḥ’
201:6Ḥ
201Ḥ:6
201Ḥ:6‘
20Cạ16Ḥ’
20Cạ16Ḥ
20+16Ḥ’
20+16Ḥ
20+16Ḥ‘
20+16Ḥ‘‘
20+ÆN_16
20+1^6ḤḤ
20+1^6ḤḤ‘
20×16HH’’
20×16HH’
20×16HH
20×16HH‘
20|16Ḥ‘Ḥ
20|16Ḥ‘Ḥ‘
20|16‘ḤḤ
201½×6Ḟ
201½×6Ċ
20ÆN+16
2016½ḞḤ
20Æn16¡
20r16S
20r16S‘
20r16S‘‘
20Ḥ+1+6Ḥ’
20Ḥ+1+6Ḥ
20ḤḤ+16’
20ḤḤ+16
20ḤḤ+16‘
201a6‘²Ḥ
201’Ho6’
201’Ho6

我写了其中的约50个,然后通过根据需要附加(×2)和‘’(±1)自动生成其余部分。待会我会改善的!


46可以成为201ÆCo6。我不认为你可以使用(这是在二月实施),但20|16Ḥ‘Ḥ20|16‘ḤḤ’同样短。
丹尼斯

@Dennis Oops,我的Python脚本实际上错误地优于‘’– 46,以及其他四个数字,应该缩短一个字符。我已将它替换为与2016½Ċ‘您一样长的文件。
林恩

9

六角,888字节

好吧,首先是Hexagony的一些基本规则,以防万一有人想打败这个:

  • 我将“代码段”解释为线性代码段,可以将其转储到任何足够大的程序中,前提是当前和相邻的内存边为零。
  • 该代码段必须从左侧输入,然后从右侧退出。没有这个,我可以节省很多字节(例如2|01622 个字节),但这似乎最符合挑战的精神。
  • 如果在执行后有任何存储边(不一定是当前边)保留该值,则该代码段将“产生”给定的数字。
  • 禁止在摘要中使用任何其他数字的规则会影响其他数字以及所有字母,因为它们在Hexagony中有效地用作整数文字。(这些将节省大量的字节。)

所以这是清单。我确实测试了其中大多数,但不是全部(其中一些是对其他人的微不足道的修改),所以我希望我不会犯任何错误:

2016
20&1}6
2}016
2)}016
20{16'-
201}6(
201}6
201}6)
2}016":
2(0(}16
2(0}16
2(0)}16
)2}016
)2)}016
20}16((
20}16(
20}16
20}16)
20}16))
20(}16
20}16
20)}16
20))}16
20)))}16
20}1)6((
20}1)6(
20}1)6
20}1)6)
201{6)':
2)0(}16
2)0}16
2)0)}16
2{016'*
201{6':
2{016)'*
20}1))6(
20}1))6
20}1))6)
20}1))6))
2))0(}16
2))0}16
2))0)}16
2))0))}16
2))0)))}16
20)){1)'6*
2){016('*
2){016('*)
2){016'*(
2){016'*
2){016'*)
2)))0}16
2){016)'*
2){016)'*)
2{01)6)'*(
2{01)6)'*
2{01)6)'*)
2{01)6)'*))
2{01)6)'*)))
2))))0((}16
2))))0(}16
2))))0}16
2))))0)}16
2)0){1)'6*
2)){016'*(
2)){016'*
2)){016'*)
2)){016'*))
2)){016'*)))
2{01))6('*(
2{01))6('*
2{01))6'*((
2{01))6'*(
2{01))6'*
2{01))6'*)
2{01))6)'*
2){01)6('*
2){01)6'*((
2){01)6'*(
2){01)6'*
2){01)6'*)
20{1)))'6*
2){01)6)'*
2){01)6)'*)
2){01)6)'*))
2){01)6))'*
2){01)6))'*)
2){01)6))'*))
2){01)6)))'*
2{01)))6(('*
2{01)))6('*(
2{01)))6('*
2{01)))6'*(
2{01)))6'*
2{01)))6'*)
2{01)))6)'*
2{01)))6)'*)
2{01)))6))'*
2(01((((}16
2(01(((}16
2(01((}16
2(01(}16

到最后我有点懒,所以我确定这不是最佳选择。暴力破解这些可能会很有趣(并且可能)。


非常好。请记住,您有10个月(或什至永远是真的)可以改善这一点。我认为Hexagony的命令数量很少,因此暴力破解是合理的。我花了一个星期的100%单核使用率才能强行插入4个APL字符。
2013年

这样就完成了吗?您是否获得了最佳解决方案?
jimmy23013 '16

@NBZ因为递增和递减结果始终是可能的,所以对于单个字节,Hexagony可能最容易检查程序中的任何数字(而不是一次一个数字),并且如果我发现比当前最佳数字短的东西数字,可以缩短该数字,并可能会缩短一些数字。是的,一旦删除了数字和字母(以及一些其他在这里没有用的字符),它应该是蛮力的。
Martin Ender

@ jimmy23013差不多完成了。对于101个号码中的两个,缺少最佳解决方案。
2013年

@NBZ您只需蛮力地使用4个字符的解决方案即可证明没有这种解决方案。我认为您可以手动编写一个5个字符的解决方案,这将是最佳选择。
jimmy23013 '16

8

J,1041 ... 838字节

981 961 952 860 859

我有点懒惰到最后,但是应该更固定而不是更少。我认为我永远也不会超越六角形,但你永远不会!跳六角形!感谢Zgarb,节省了9个字节!还有更多给琳!

20=16
*2016
2[016
2+01[6
20-16
p:2[016
201]6
2+0-1-6
-:20]16
2+01+6
-:20[16
p:20-16
+/2$01]6
<:20-1]6
20-1]6
<:20]16
20]16
p:201]6
2+016
20-1[6
20[16
20+1[6
20++~1[6
+/q:2016
20-(+:1)-6
<:20+1]6
20+1]6
20+1+6
+:20-1]6
p:2+01+6
-2-+:016
<:2*016
2*016
>.201%6
<.201%6
<:20+16
20+16
20+>:16
+~20-1[6
-20-p:16
+:20[16
p:2*01*6
>:p:2*01*6
<:<.%:2016
<.%:2016
>.%:2016
+/q:*:2016
p:20-1]6
>:p:20-1]6
*:2+0-1-6
+:20-1-6
20++:16
<.%:20^%:1+6
20+#i:i:16
*/2,01]$~-:6
<:<.o.2+016
<.o.2+016
>.o.2+016
<:p:20]16
p:20]16
>:p:20]16
2+p:016
<.o.20[16
<:2^01]6
2^01]6
>:2^01]6
<:p:2+016
p:2+016
>:p:2+016
>:>:p:2+016
<:p:20-1[6
p:20-1[6
+/+~20 16
p:20[16
>:p:20[16
>:>:p:20[16
-:+/2+i.016
<:<:p:20+1[6
<:p:20+1[6
20+p:16
20*.16
*:2+01+6
>:*:2+01+6
p:20++~1[6
<.o.20+1+6
>.o.20+1+6
>:>.o.20+1+6
<.o.+:20-1]6
>.o.+:20-1]6
p:+/q:2016
>:p:+/q:2016
<.o.p:2+01+6
>.o.p:2+01+6
(*:-:20)-1+6
>:(*:-:20)-1+6
<:(++:)2*016
(++:)2*016
p:20-(+:1)-6
2**~p:-:01]6
<:*:-:20[16
*:-:20[16

重点和注意事项

我用素数很多在此。实际上,我在这件事上使用了p:(第N个素数)函数37次。

 *:-:20[16

90用叉子制造。好极了!大概是这样的:

(*+&1)2+01+6

翻译为

inc =: + &1
mul =: *
nin =: 2 + 1 + 6
NB. since (f g) y = y f (g y):
  (mul inc) nin   = nin mul (inc y)
                  =  9   *    9+1
                  =  90

54使用塑形短裙!

*/2,01]$~-:6

相当于

*/ 2 , $~ -:6
*/ 2 , -:6 $ -:6
*/ 2 , 3 $ 3
*/ 2 , 3 , 3 , 3
   2 * 3 * 3 * 3
   54

好吧,您有3/4年的时间可以进行改进。
亚当

24:!20-1654:<.^20-1655:>.^20-1697:p:!20-16
林恩

四个阶乘的不错技巧!
Conor O'Brien

94似乎太长了……怎么样+:p:-2-016(短4个字节)?
林恩

我想7可以2]01+6,8可以2%~016,12可以2*01]6
Zgarb

7

JavaScript,1021个字节

修复并节省了两个字节,这要归功于Charlie WynnETHProductions

201&6
-~!2016
2%016
201%6
20%16
2^0^1^6
2*0*1+6
2|0|1|6
2*01+6
2-~01+6
~2+016
~2+016
2^016
20-1-6
2|016
20+1-6
20&16
2-~016
2.0+16
20^1+6
20|16
-~20|16
20*1|6
20|1|6
-2*~01*6
20-1+6
20+1*6
20+1+6
2*016
-~(2*016)
2*-~016
~-(2.0*16)
2.0*16
-~(2.0*16)
2.0*-~16
~-20+16
20+16
-~20+16
-~-~20+16
-~2*~-016
20*-~1.6
~-(-~2*016)
-~2*016
~-~-(~2*~016)
~-(~2*~016)
~2*~016
20<<1|6
20*-~1-~6
~2*~-~016
-~(~2*~-~016)
~-~(~-~2*~-016)
~2*~-~-~016
-~-~2*~-016
20*-~-~1+~6
20*-~-~1-6
20*-~-~1-~-6
-~-~2*016
-~20*-~-~1-6
-~-~(-~-~2*016)
~-(20*~-~(1-6))
~-~2*~016
-~(20*~-~(1-6))
-~-~(20*~-~(1-6))
-~20*~-~(1-6)
~-~2*~-~016
20*-~-~1+~-6
20*-~-~1+6
20*-~-~1-~6
~-~2*~16
-~20*-~-~1+6
-~-~-~2*016
~-(~-~2*~-~16)
~-~2.0*~-~16
-~(~-~2*~-~16)
20*-~-~-~1-6
~-~-~2*~016
~-20*~(1-6)
-~(~-20*~(1-6))
~-~-(20*~(1-6))
~-(20*~(1-6))
20*~(1-6)
-~(20*~(1-6))
~-~-(~20*-~(1-6))
~-(~20*-~(1-6))
~20*-~(1-6)
20*-~-~-~1+~-6
20*-~-~-~1+6
20*-~-~-~1+-~6
20*-~-~-~1+-~-~6
~-(~-~-20*-(1-6))
~-~-20*-(1-6)
-~(~-~-20*-(1-6))
~-~-~-(~-20*-(1-6))
~-~-(~-20*-(1-6))
~-(~-20*-(1-6))
~-20*-(1-6)
-~(~-20*-(1-6))
~-~-~-(20*-(1-6))
~-~-(20*-(1-6))
~-(20*-(1-6))
20*-(1-6)

20 ^ 1 + 6会为19保存一个(如果您将数字放在每个条目旁边也可以吗?)
Charlie Wynn

20 << 1 | 6为46保存一个(我应该只是编辑您的答案吗?)
Charlie Wynn

@CharlieWynn否。使用注释建议。上面有一个meta帖子。
mbomb007 '16

在Firefox 44的测试,你的1实际上是2,和你的10是11,您可以将当前10 11(这是三个字节短),使用2-~01+610个,并-~!2016为1
ETHproductions

哇,有人设法击败了我的5244个字符的解决方案
clamchowder314,2016年

7

JavaScript(ES7),836个字节

除81、88和97(使用new **运算符)外,其他所有浏览器都可以正常运行。

通常,这里的所有操作都是手工完成的。我一直在研究蛮力,以改进所有可以改进的地方。目前,它已在各种项目上节省了103个字节。

  0: 201&6
  1: 2-01%6
  2: 2%016
  3: 201%6
  4: 20%16
  5: 201%~6
  6: 2%01+6
  7: 2-01+6
  8: 2*01+6
  9: 2+01+6
 10: 2-~01+6
 11: ~2+016
 12: 2^016
 13: 20-1-6
 14: 2|016
 15: 20+1-6
 16: 2+016
 17: 2-~016
 18: 2+0+16
 19: 20-1%6
 20: 20|16
 21: 20+1%6
 22: 20*1|6
 23: 20+1|6
 24: 20+~1+6
 25: 20-1+6
 26: 20*1+6
 27: 20+1+6
 28: 2*016
 29: 20-~1-~6
 30: -2*~016
 31: 20|~-16
 32: 20*1.6
 33: 20*~1^~6
 34: -20*~1-6
 35: 20+~-16
 36: 20+16
 37: 20-~16
 38: 20-~-~16
 39: -~2*~-016
 40: 20<<1%6
 41: -20*~1-~!6
 42: ~2*-016
 43: ~20^-1<<6
 44: ~20*~1^6
 45: ~2*~016
 46: 20<<1|6
 47: -20*~1-~6
 48: ~20*~1+6
 49: ~20*~1-~6
 50: ~2/.01/-6
 51: ~2.0*~16
 52: 20|1<<~-6
 53: -20*~-~1+~6
 54: ~2.0*~-~16
 55: -20*~-~1-~-6
 56: ~-~2*-016
 57: ~20*~-~1-6
 58: -20*~-~1^6
 59: ~(20/~1*6)
 60: -20/~1*6
 61: ~2^0-1<<6
 62: -2^0-1<<6
 63: ~20/~1*6
 64: 2-01<<6
 65: 2+~0|1<<6
 66: 2|01<<6
 67: 2-~0|1<<6
 68: 2*~!0*~16
 69: ~20*~-~1+6
 70: 20/~1*~6
 71: -~(20/~1*~6)
 72: 2+~0/.1*~6
 73: -20<<-~1^~6
 74: -20<<-~1^-6
 75: ~-~-~2*~016
 76: ~-20*(~1+6)
 77: ~-~20/~1*-~6
 78: ~-20<<-~1|6
 79: -20<<-~1^~!6
 80: 20*(~1+6)
 81: ~2*~0**(~1+6)
 82: ~-~-20|1<<6
 83: ~-20|1<<6
 84: 20|1<<6
 85: -~20|1<<6
 86: 20<<-~1|6
 87: 20<<-~1|-~6
 88: .2**~!0|1<<6
 89: ~20*~-~-~1+~-6
 90: ~2*~!0*~-16
 91: ~20*~-~-~1-~6
 92: ~-2/.01+~-~6
 93: ~-2/.01+~6
 94: ~-2/.01-6
 95: ~-20*1*~-6
 96: 2+01<<~-6
 97: ~2+.01**~.6
 98: ~-2/.01^6
 99: ~-2/.01+~.6
100: 20*1*~-6

蛮力

它不是最漂亮的代码,但是在这些部分之间似乎并不重要。

警告:除非您准备好让浏览器/引擎冻结几分钟,否则请不要运行。没有人喜欢计算7个嵌套循环。

var a=new Array().fill("000000000000000000000000000"), // An array of non-solutions to start
    time=new Date(),                                   // For timing how long this takes
    o=["","+","-","*","/","%","&","|","^",".","<<"],   // Operators for between numbers
    p=["",".","~.","-","~","~-","-~","~-~","~-~-","~!"];        // Prefixes for each number
for(i=0;i<o.length;i++)
for(j=0;j<o.length;j++)
for(k=0;k<o.length;k++)
for(I=0;I<p.length;I++)
for(J=0;J<p.length;J++)
for(K=0;K<p.length;K++)
for(L=0;L<p.length;L++) {      // 7 nested loops = O(len(o)^3 * len(p)^4)
    z=      p[I]+2
      +o[i]+p[J]+0
      +o[j]+p[K]+1
      +o[k]+p[L]+6;            // Put all the current chars in one string. 
    try { v=eval(z) }          // Try setting v to the evaluated value of z.
    catch(e) { v=-1 }          // If an error occurs, set v to -1.
    if( (v === (v|0)) &&       // If v is an integer, and
        v>=0 && v<=100 &&      // v is between 0 and 100, inclusive, and
        z.length<a[v].length ) // z is shorter than the current entry,
        a[v]=z;                // overwrite the current entry.
}

console.log("time: " + ((new Date()-time)/1e3) + "seconds\n"
           + "length: " + (a.join("").length) + "\n"
           + a.map((x,y) => y + ": " + x).join("\n"))

3
是的,这里的美感并不重要。我们不是CR。:P
Rɪᴋᴇʀ

哇,有人设法击败了我的5244个字符的解决方案
clamchowder314,2016年

4

PowerShell v3 +,1575 1499字节

2*0*16
2*0+1%6
2%016
201%6
20%16
2*0+-1+6
2*0+1*6
2*0+1+6
2+0*1+6
2+01+6
2*(0-1+6)                #10
2*($a=01)*6-$a           ################################## First variable
2*01*6
20-1-6
20*1-6
20+1-6
2*0+16
!!20+16                  ################################## First Boolean not
2+016
2+!0+16
20+!16                   #20
20+1+!6
!2+0x16                  ################################## First use of 0x16
(20+1)-bor6              ################################## First binary or
2+0x16
20-1+6
20*1+6
20+1+6
20+($a=1)+6+$a
20+($a=1)+6+$a+$a
2*-bnot-016              #30 ############################## First binary not
-bnot(-2*016)
2*016
-(-bnot(2*016))
-2*-bnot016
-bnot(-20)+16
20+16
20-(-bnot16)
-(-bnot20)-(-bnot16)
(20-shl1)-!!6            ################################## First binary shl
(20-shl1)+!6             #40
(20-shl1)+!!6
($a=2)*0x16-$a
($a=2)*0x16-$a/$a
2*0x16
-(-bnot2)*(-bnot-016)
(20-shl1)+6
$a=20;$b=1;$a+$a+$b+6
-(-bnot2*016)
2*0+($a=1+6)*$a
(20-shr($a=1))*(6-$a)    #50
(-bnot2)*(-bnot016)
20+($a=16)+$a
($b=20*($a=1)+6)+$b+$a
($a=20+1+6)+$a
($a=20+($b=1)+6)+$a+$b
($a=20)+16+$a
(($a=(2+!0))+16)*$a
(20-shr($a=1))*6-$a-$a
(20-shr($a=1))*6-$a
(20-shr1)*6              #60
(20-shr($a=1))*6+$a
(($a=2)*0+1-shl6)-$a
-bnot-(2*0+1-shl6)
2*0+1-shl6
(2*0+($a=1)-shl6)+$a
(-bnot2)*-0x16
($a=201)/($a%6)
20+($a=16)+$a+$a
20+($a=16)+$a+$a+$a/$a
-($a=2)*-bnot016*$a+$a   #70
2*01*($a=6)*$a-$a/$a
2*01*($a=6)*$a
($a=2+01+6)*$a-$a+$a/$a
($a=2)*01*($b=6)*$b+$a
($a=20)+16+$a+$a-$a/$a
($a=20)+16+$a+$a
($a=20)+16+$a+$a+$a/$a
2*01*($a=6)*$a+$a
($a=20)%16*$a-$a/$a
($a=20)%16*$a            #80
($a=2+01+6)*$a
($a=2)*0x16*$a-$a*$a-$a
20+(($a=1)-shl6)-$a
20+(1-shl6)
20+(($a=1)-shl6)+$a
($a=2)*0x16*$a-$a
($a=2)*0x16*$a-$a/$a
($a=2)*0x16*$a
($a=2)*0x16*$a+$a/$a
($a=2)*0x16*$a+$a        #90
($a=2)*0x16*$a+$a+$a/$a
($a=2)*0x16*$a+$a+$a
20*(-1+($a=6))-$a-$a/$a
20*(-1+($a=6))-$a
20*($a=-1+6)-$a
2*(!0+1+($a=6))*$a
20*(($a=-1)+6)+$a+$a+$a
($a=2)*($b=01+6)*$b
20*(($a=-1)+6)+$a
20*(-1+6)                #100

100%手动打高尔夫球-没有使用强力程序或其他辅助工具。
我认为1500 可能会达到
Sub-1500!让我们看看如何降低这个水平。(注意-仅在v4中进行了测试,但应在v3和v5中运行,而无需进行修改。在v2或v1中将不起作用,因为这些版本没有按位移位运算符。)

关键点##.hashes.##在上面的代码中用标记。

#11是对variable的第一个赋值$a。与其他一些语言不同,变量无需预先初始化即可进行解析,只有在执行过程中才能解析变量。由于($a=01)包围着括号,因此首先对其求值,因此第二个-$a等效于-1。从现在开始,这已被广泛使用,并且是减少字节数的最大措施之一。

#17显示了!for布尔型not 的首次使用。在PowerShell中,类型的转换非常宽松,因此,如果可以暗含强制转换,它将可以正常工作。在这里,我们使用了!!20equals 的事实!$false,即is $true,可以隐式转换为as [int]1,结果为17。多次使用它来获取另一个1或进行分配0

#22展示0x十六进制强制转换运算符,此处0x16变为22。但是,由于这0x16是我们可以获得的唯一数字,因此其用途是有限的。

#23具有-bor运算符,表示“二进制或”。然而,由于两个-bor-bxor具有较低的 优先级比简单的算术运算符,使用它们通常需要括号,这严重限制了有效性。这是我发现使用二进制或运算符的时间更短的唯一方法(我-bxor从22中删除了运算符)。

#30是第一次-bnot介绍该操作员。这是“ binary not”运算符,其功能类似于~(例如)JavaScript中的功能。但是,它通常需要parens,因为否定将显示为--bnot并导致解析/语法错误,并且由于它是5个字符而~不是一个字符,因此很少使用它。

#39是我们二进制移位运算符-shl和的首次使用-shr。这些语言与其他语言相似<<或相似>>,但是明确地是二进位的,这意味着我们在它们的两侧都需要一个数字才能起作用,这限制了它们在此挑战中的用处。此外,文档中并未明确指出它们的优先级,但是测试表明它们的优先级低于简单的算术,这意味着需要自由地使用parens,因此它们的外观不会像其他语言答案中那样多。


好答案。感谢您如此彻底地解释您的技术。
亚当

4

CJam,792个 791字节

我有点接近尾声,尽管最终我不确定到底有没有其他方法可以解决许多问题,但其中很多只是增加和减少(101很大!)。如果需要的话,仍然有很多时间去打高尔夫球。

#40左右有一些眨眼的表情;)

2016!          e# 0
2016g
2016g)
201 6%
20 16-
20)16-
20 1>6*
20 1>6+
201mQ6-
201mQ6-)
2 01 6*(*      e# 10
2 01*6*(
2 01*6*
2~016+
-2 016+
2)016(|
20;16
2(016+
2 016+
2)016+
20 16|         e# 20
20)16|
20 1*6|
20 1|6|
20 16mQ+
20_*16/
20 1 6*+
20 1+6+
20 1)6++
20)1)6++
2 016(*        e# 30
2 016*(
2 016*
201 6/
2 016)*
20(16+
20 16+
20)16+
20)16)+
20_+16;(
20_+16;        e# 40
20_+16;)
20)_+16;
20)_+16;)
20(1m<6+
2)016(*
20 1m<6+
2)016*(
2)016*
2)016*)
2)016)*(       e# 50
2)016)*
20 16_++
20)1 6(m<+
20(_16++
20_16++(
20_16++
20_16++)
20)_16++
20)_16++)
20 16mQ(*      e# 60
20 16mQ(*)
2 01*6#((
2 01*6#(
2 01*6#
2 01*6#)
201_+6/(
201_+6/
201_+6/)
201mQ6(*(
201mQ6(*       e# 70
20_16_+++(
20_16_+++
20_16_+++)
20)_16_+++
20(16mQ*(
20(16mQ*
20(16mQ*)
20_16^*((
20_16^*(
20_16^*        e# 80
2)016mQ#
201mQ6*((
201mQ6*(
201mQ6*
201mQ6*)
201mQ6*))
201mQ6*)))
[20_16__]:+
[20_16__]:+)   
[20)_16__]:+   e# 90
[20_16)__]:+
[20__16_]:+
20(1*6(*((
20(1*6(*(
20(1*6(*
20(1*6(*)
201mQ6)*(
201mQ6)*
20 1*6(*(
20 1*6(*       e# 100

想要投票给眨眼的面孔,但我注意到您只有 1,000个代表,所以我不想破坏它。;)将稍后投票。:P
凯文·克鲁伊森

现在是1089:P(数学上的另一个魔术数字:P)
masterX244 '16

3

Mathematica,2912 2502 2282 2180字节

可以肯定将进一步golfed。大多数情况下,只求解几个单独的Frobenius方程,从而得出O(n)长度的解。其余的由我的蛮力产生。

2 0 16
2-01^6
2 01^6
2+01^6
20-16
2 0-1+6
201;6
2-01+6
2 01+6
2+01+6
a=2;01 6+a+a
2#-01&@6
2 01 6
20-1-6
20 1-6
20+1-6
20;16
2^0+16
2+016
20-1^6
20 1^6
20+1^6
a=2;b=016;a+a+a+b
a=2;b=01;c=6;a+a+b+c+c+c
201;a=6;a+a+a+a
20-1+6
20 1+6
20+1+6
a=2;b=016;a+a+a+a+a+a+b
a=2;b=01;c=6;a+a+b+c+c+c+c
201;a=6;a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b
2 016
a=2;b=01;c=6;a+b+c+c+c+c+c
a=2;b=016;a+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c
20+16
2;a=01;b=6;a+b+b+b+b+b+b
a=2;b=016;a+a+a+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c
a=20;16;a+a
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b
a=2;b=016;a+a+a+a+a+a+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c
a=2;b=016;a+a+a+a+a+a+a+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c
201;6!!
2;a=01;b=6;a+b+b+b+b+b+b+b+b
2 01+6!!
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c
a=20;b=16;a+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b
a=20;16+a+a
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c
a=2;b=016;a+a+a+a+a+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c
a=20;16;a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b
a=2;b=016;a+a+a+a+a+a+a+b+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c
2&@01^6
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b
20 1+6!!
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c
a=2;b=016;a+a+a+b+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c
2#01#&@6
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b
a=2;b=016;a+a+a+a+a+b+b+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c
a=20;16+a+a+a
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b+b
a=20;16;a+a+a+a
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c+c
a=2;b=016;a+b+b+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c+c+c
a=20;b=16;a+b+b+b+b
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b+b+b
a=2;b=016;a+a+a+b+b+b+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c
a=20;b=16;a+a+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a+a+a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b
a=20;b=16;a+a+a+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c
a=2;b=016;a+a+a+a+a+a+a+b+b+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c
2 01 6!!
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b
a=2;b=016;a+b+b+b+b+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c
a=20;16;a+a+a+a+a

HRM,除非我误解了这个问题,你不应该能够通过分配节省了大量的字节c16时数为偶数大?像是96等。不确定您的方程式求解器是如何工作的,但是使用其中a=20的一些方法也应有所帮助?
FryAmTheEggman

是的,然后我不知道同时使用16和20会花费多长时间,但是对于较大的数字,我希望它会减少很多。
FryAmTheEggman '16

3

Dyalog APL(这是个玩笑,请不要提交),25,957字节。

2016⊢≢⍬
2016⊢(⊢+≢)≢⍬
2016⊢(⊢+≢)(⊢+≢)≢⍬
...

是的,这是一个笑话,即使它完全可怕,我们也需要APL解决方案。通过增加≢⍬0n次起作用。我不想透露任何实际提交的秘密。

显然可以打更多的球。


大声笑。我有两次投票。
扎卡里

说真的,为什么人们对此表示反对?
扎卡里

2

JavaScript,5244个字符

可能会打得更远。在Chrome控制台中进行测试。我十点就放弃了。

201&6
!!2016
2%016
20+~16
20-16
-2+0+1+6
2*0*1+6
2*0+1+6
2*01+6
2+01+6
-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~20-16
20*1-6
!!2+016
2+016
!!20+16
2.0+16
2+!0+16
20+!16
20+!!16
-~20+!!16
-~-~20+!!16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
2*016
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
(2+0)*16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
20+16
-~20+16
-~-~20+16
-~-~-~20+16
-~-~-~-~20+16
-~-~-~-~-~20+16
-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
20*-(1-6)

如果101个表现得有点多,你可能希望在去这个。目前已经是一个JavaScript的答案,但也许你可以做的更好-或不同的...
亚当

1

Java 7,1,083字节

对于字节数,我只计算了括号之间的表达式本身。因此,我排除了System.out.printlns和class。包括那些,将是3049字节
PS:不能完全确定int-cast 72是否有效。尽管它确实会增加5个字节。

201&6
2-01%6
2%016
201%6
20-16
201%~6
2%01+6
2-01+6
2*01+6
2+01+6
~2+016
~2+016
2^016
20-1-6
2|016
20+1-6
2+016
2-~016
2+0+16
20-1%6
20|16
20+1%6
20*1|6
20|1|6
20+~1+6
20-1+6
20*1+6
20+1+6
2*016
20-~1-~6
-2*~016
20|~-16
(2+0)*16
20*~1^~6
-20*~1-6
20+~-16
20+16
20-~16
20-~-~16
-~2*~-016
20<<1%6
~-(-~2*016)
~2*-016
~20^-1<<6
~20*~1^6
~2*~016
20<<1|6
-20*~1-~6
~20*~1+6
~20*~1-~6
-20/~1*~-6
~2*~-~-~016
20|1<<~-6
-20*~-~1+~6
20*-~-~1-6
-20*~-~1-~-6
~-~2*-016
~20*~-~1-6
-20*~-~1^6
~(20/~1*6)
-20/~1*6
~2^(0-1)<<6
-2^(0-1)<<6
~20/~1*6
(2-01)<<6
(2+~0)|1<<6
2|01<<6
2-~0|1<<6
~-~2*~16
~20*~-~1+6
20/~1*~6
-~(20/~1*~6)
~-~(int)2.0*~-~16
-20<<-~1^~6
-20<<-~1^-6
~-~-~2*~016
~-20*(~1+6)
~-~20/~1*-~6
~-20<<-~1|6
~-(20*~(1-6))
20*(~1+6)
-~(20*~(1-6))
~-~-20|1<<6
~-20|1<<6
20|1<<6
-~20|1<<6
20<<-~1|6
20<<-~1|-~6
-~-~20*(~1+6)
~20*~-~-~1+~-6
~-~-20*-(1-6)
~20*~-~-~1-~6
~20*~-~-~1-~-~6
~2^~-~01<<~-6
-2^~-~01<<~-6
~-20*1*~-6
(2+01)<<~-6
-~(~2*~-~0*16)
~-~-(20*-(1-6))
~-(20*1*~-6)
20*-(1-6)

取消测试代码:

在这里尝试。

class M{
  public static void main(String[]a){
    System.out.println(201&6);
    System.out.println(2-01%6);
    System.out.println(2%016);
    System.out.println(201%6);
    System.out.println(20-16);
    System.out.println(201%~6);
    System.out.println(2%01+6);
    System.out.println(2-01+6);
    System.out.println(2*01+6);
    System.out.println(2+01+6);
    System.out.println(~2+016);
    System.out.println(~2+016);
    System.out.println(2^016);
    System.out.println(20-1-6);
    System.out.println(2|016);
    System.out.println(20+1-6);
    System.out.println(2+016);
    System.out.println(2-~016);
    System.out.println(2+0+16);
    System.out.println(20-1%6);
    System.out.println(20|16);
    System.out.println(20+1%6);
    System.out.println(20*1|6);
    System.out.println(20|1|6);
    System.out.println(20+~1+6);
    System.out.println(20-1+6);
    System.out.println(20*1+6);
    System.out.println(20+1+6);
    System.out.println(2*016);
    System.out.println(20-~1-~6);
    System.out.println(-2*~016);
    System.out.println(20|~-16);
    System.out.println((2+0)*16);
    System.out.println(20*~1^~6);
    System.out.println(-20*~1-6);
    System.out.println(20+~-16);
    System.out.println(20+16);
    System.out.println(20-~16);
    System.out.println(20-~-~16);
    System.out.println(-~2*~-016);
    System.out.println(20<<1%6);
    System.out.println(~-(-~2*016));
    System.out.println(~2*-016);
    System.out.println(~20^-1<<6);
    System.out.println(~20*~1^6);
    System.out.println(~2*~016);
    System.out.println(20<<1|6);
    System.out.println(-20*~1-~6);
    System.out.println(~20*~1+6);
    System.out.println(~20*~1-~6);
    System.out.println(-20/~1*~-6);
    System.out.println(~2*~-~-~016);
    System.out.println(20|1<<~-6);
    System.out.println(-20*~-~1+~6);
    System.out.println(20*-~-~1-6);
    System.out.println(-20*~-~1-~-6);
    System.out.println(~-~2*-016);
    System.out.println(~20*~-~1-6);
    System.out.println(-20*~-~1^6);
    System.out.println(~(20/~1*6));
    System.out.println(-20/~1*6);
    System.out.println(~2^(0-1)<<6);
    System.out.println(-2^(0-1)<<6);
    System.out.println(~20/~1*6);
    System.out.println((2-01)<<6);
    System.out.println((2+~0)|1<<6);
    System.out.println(2|01<<6);
    System.out.println(2-~0|1<<6);
    System.out.println(~-~2*~16);
    System.out.println(~20*~-~1+6);
    System.out.println(20/~1*~6);
    System.out.println(-~(20/~1*~6));
    System.out.println(~-~(int)2.0*~-~16);
    System.out.println(-20<<-~1^~6);
    System.out.println(-20<<-~1^-6);
    System.out.println(~-~-~2*~016);
    System.out.println(~-20*(~1+6));
    System.out.println(~-~20/~1*-~6);
    System.out.println(~-20<<-~1|6);
    System.out.println(~-(20*~(1-6)));
    System.out.println(20*(~1+6));
    System.out.println(-~(20*~(1-6)));
    System.out.println(~-~-20|1<<6);
    System.out.println(~-20|1<<6);
    System.out.println(20|1<<6);
    System.out.println(-~20|1<<6);
    System.out.println(20<<-~1|6);
    System.out.println(20<<-~1|-~6);
    System.out.println(-~-~20*(~1+6));
    System.out.println(~20*~-~-~1+~-6);
    System.out.println(~-~-20*-(1-6));
    System.out.println(~20*~-~-~1-~6);
    System.out.println(~20*~-~-~1-~-~6);
    System.out.println(~2^~-~01<<~-6);
    System.out.println(-2^~-~01<<~-6);
    System.out.println(~-20*1*~-6);
    System.out.println((2+01)<<~-6);
    System.out.println(-~(~2*~-~0*16));
    System.out.println(~-~-(20*-(1-6)));
    System.out.println(~-(20*1*~-6));
    System.out.println(20*-(1-6));
  }
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.