一个简单的制造商的挑战。计算输入模块7.输入将以大端二进制(blue=1,red=0)表示.输出应采用相同的格式。
提供测试用例。最小的部分计数获胜。
http://pleasingfungus.com/Manufactoria/?ctm=Mod7;Input:_二进制_数_大的_安迪安。_输出:_那_二进制_数_国防部_7;bbb:|brrr:b|brrrr:br|bb:bb|bbrrb:brr|brrrrb:brb|bbrb:bbr;13;3;1;
(如果输入mod 7为0,则不输出任何内容。)
发布于 2014-01-21 08:51:40

该算法非常简单:使用状态机(八个分支的最大部分--其中一个状态为后勤目的复制)计算模数,然后对结果进行编码和收集。由于几乎每个结果都包含一个数字,因此需要额外的压缩步骤来减少零件的数量。
设计在yEd,然后转录到制造商。
在我看来,传送带太多了。
发布于 2014-02-02 16:43:32
我的解决方案有点不同。它首先将二进制转换为一元,然后再执行mod 7,我无法打败Ilmari。

发布于 2014-01-21 10:02:04
实际上,我不知道我在做什么,但这是可行的,而且我可能是赢家(如果测试用例足够证明的话)。:D

编辑:优化了2次,现在稍微小一点。(清除垃圾)
https://codegolf.stackexchange.com/questions/18975
复制相似问题