发布于 2015-02-24 15:33:23
的检查
使用?!而不是0=?通常保存一个字节。
但是,如果您能够负担得起一些重组,那么标准的?有时可能会更好
?!vA
B对比
?vB
A发布于 2015-02-24 16:33:48
启动一个新的行有时意味着在下一行上浪费大量的前导空格。在这种情况下,跳跃是有用的。
例如,
[lots of code here]>[loop body]v
^ ......... <可以用这样的一条线来配合:
[lots of code here][loop body][jump]作为一个实际例子,下面是Hello程序的一行:
"!dlroW ,olleH"l?!;oe0.发布于 2015-10-04 18:17:09
这可能太简单了,所以如果是的话,我会替换它或者删除它。
假设您想输入两个字符,分别为"a“和"b”,并分别返回1和2。您可能会对此使用条件,因为这是最有意义的,我将在这个特定的例子中使用更简洁的形式。
i:"a")+1+n这将检查输入是否大于"a“并添加1。因为"a”将返回0和"b“1,这将给出1和2。这很好地完成了工作,但是对于我们的输入,我们可以更进一步。
i:3%n在mod 3中,97 ( "a"s数值等价)变成1,98 (B)S变成2。对于两个不同的数字,保证有一个模( mod )对两者都给出了唯一的结果。对于两个以上的模型,有一个给出唯一结果的模型,但我没有数学能力以简单的方式找到最小的结果(例如,如果您有集合{100,101,102,103},那么mod 104将对其中的每个值都给出唯一的结果,但不是以一种非常有用的方式)。然而,在大多数情况下,输入被限制为几个字母字符,您通常可以找到一个有效的模块。
要找到得到两个数字的唯一结果的最小模,a,和,b,如下所示。取a和b (|a - b|)差的绝对值,找出不除以它的最小数n。例如,对于97和98,|98 - 97| = 1和SO2将是最小的mod (但是对于我们的测试程序来说,这给出了1对于97,0对于98,所以mod 3更好)。
https://codegolf.stackexchange.com/questions/47035
复制相似问题