首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >><>高尔夫小贴士(鱼)

><>高尔夫小贴士(鱼)
EN

Code Golf用户
提问于 2015-02-24 15:24:11
回答 7查看 1.2K关注 0票数 17

由于我最近看到越来越多的><>提交信息,所以我认为创建一个贴士页面可能是个好主意。

请坚持每一篇文章的小费,除非他们是密切相关的。

官方Python解释器

TIO上的官方翻译

在线翻译 (存在一些but,但对大多数情况都有好处)

另一位在线翻译

EN

回答 7

Code Golf用户

发布于 2015-02-24 15:33:23

对0

的检查

使用?!而不是0=?通常保存一个字节。

但是,如果您能够负担得起一些重组,那么标准的?有时可能会更好

代码语言:javascript
复制
?!vA
  B

对比

代码语言:javascript
复制
?vB
 A
票数 5
EN

Code Golf用户

发布于 2015-02-24 16:33:48

跳转绕过新行

启动一个新的行有时意味着在下一行上浪费大量的前导空格。在这种情况下,跳跃是有用的。

例如,

代码语言:javascript
复制
[lots of code here]>[loop body]v
                   ^ ......... <

可以用这样的一条线来配合:

代码语言:javascript
复制
[lots of code here][loop body][jump]

作为一个实际例子,下面是Hello程序的一行:

代码语言:javascript
复制
"!dlroW ,olleH"l?!;oe0.
票数 4
EN

Code Golf用户

发布于 2015-10-04 18:17:09

利用模数简化输入

这可能太简单了,所以如果是的话,我会替换它或者删除它。

假设您想输入两个字符,分别为"a“和"b”,并分别返回1和2。您可能会对此使用条件,因为这是最有意义的,我将在这个特定的例子中使用更简洁的形式。

代码语言:javascript
复制
i:"a")+1+n

这将检查输入是否大于"a“并添加1。因为"a”将返回0和"b“1,这将给出1和2。这很好地完成了工作,但是对于我们的输入,我们可以更进一步。

代码语言:javascript
复制
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更好)。

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

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

复制
相关文章

相似问题

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