脑爆是一种基于堆栈的图灵寺语言,由me、DJMcMayhem和1000000000合作编写.
一些用户对大脑的神秘方式非常有经验-Flak。因此,我认为设立这个问题是个好主意,希望其他人也可以透过这个问题,与社会人士分享我们的知识,以及减低使用这种语言的门槛,“令人痛苦地使用”。也许还会教我们那些有更多经验的人一些新的技巧。
那么,你在打高尔夫球时有什么建议呢?我正在寻找的想法,可以应用于代码高尔夫问题,在一般情况下,至少在一定程度上特定于大脑攻击(例如“删除评论”不是一个答案)。
请给每一个答复发一条小费。
发布于 2016-11-02 19:38:33
找出n模是基本的算术运算之一,对许多挑战都很重要。对于m> 0和n >= 0的情况,可以使用以下46字节的代码段.它假设n在活动堆栈的顶部,下一个堆栈是m,然后用n个mod m替换它们,剩下的堆栈保持不变。
({}(<>))<>{(({})){({}[()])<>}{}}{}<>([{}()]{})这个带注释的版本显示程序中某些点的堆栈内容。;分隔这两个堆栈,.标记活动堆栈。
. n m;
({}(<>))<>
{ . m; r 0 (r = n - km)
(({}))
. m m; r 0
{({}[()])<>}
{}
}
m-n%m-1 m; . 0
{}<>([{}()]{})
. n%m;发布于 2016-10-05 17:31:09
这是个大案子。这也是一个有点细微之处。
这个想法是,如果你推开某件东西,然后在没有做任何事情的情况下弹出它,你就根本不应该推它。
例如,如果要将某些内容移到堆栈外,然后向其中添加一个,则可以编写以下代码:
({}<>)({}())这可以像这样更简单:
({}<>())第一个程序拾取项目,移动它,再次捡起它并添加一个,而第二个程序在一次突然之间同时完成了这两项任务。
这个例子很简单,但是它可以变得更加复杂。例如:
({}<({}<>)><>)(<((()()()){}[((){}{})])>)这里减少的不太清楚,但是程序中的第四个pop可以通过第二次推送来减少,如下所示:
(<((()()()){}[((){}<({}<>)><>{})])>)这是我的高尔夫曲目中最强大的工具,但需要一些练习才能使它更好。一旦你已经这样做了一段时间,你将能够发现这些几乎立即。
发布于 2016-10-06 08:30:07
整数在脑-Flak中表示是乏味的.幸运的是,我们有一个问题将帮助高尔夫--Flak Integer为您。(请注意,这个问题的目的是将整数推到堆栈中,因此推-pop冗余可能适用于更实际的程序。)
https://codegolf.stackexchange.com/questions/95403
复制相似问题