【发布时间】:2010-11-07 20:47:43
【问题描述】:
挑战
按字符数计算的最短程序,输出 n 位 Gray Code。 n 将是一个小于 1000100000(由于用户建议)的任意数字,该数字取自标准输入。格雷码将打印在标准输出中,如示例所示。
注意:我不希望程序在合理的时间内打印格雷码(n=100000 是矫枉过正);不过我确实希望它开始打印。
示例
输入:
4
预期输出:
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
【问题讨论】:
-
鉴于 CW 在没有模组干预的情况下无法回答问题,现在是 [code-golf] 离开 Stack Overflow 的时候了。 Stack Exchange 提案Code Golf & Programming Puzzles 将是一个好地方,但它需要更多的承诺才能进入测试阶段......
-
如果另一个论坛上线,希望现有的 CG 问题可以迁移。
-
@John,希望代表在迁移时会被计算在内:)
-
n=100000 似乎有点过分,不是吗?对于 4 位格雷码,有 16 个条目,每个条目 4 个字符长。这可以达到 64 个字节。外推原始的 1000 位格雷码将需要 1.02e298 兆字节。我认为这会破坏每个人的解决方案,只是递归的解决方案。
-
@Gabi:让 n 大于 32 或 64 有什么意义?这似乎是一个任意且不必要的要求?
标签: algorithm code-golf gray-code