我在玩一些数字,发现一个序列,当然是关于OEIS的序列。它是A005823:三进制扩展数不包含1的数字。它去了:
a(2n)= 3 * a(n)+2
a(2n + 1)= 3 * a(n + 1)
a(1)= 0
a = 0,2,6,8,18,20,24,26,54 ....
我编写了一个CJam程序,该程序通过将索引转换为二进制,将1替换为2,然后从三进制转换为十进制,来生成这些数字的前n个。
我还注意到,通过取序列中两个数字的和(有时是数字本身)可以得到任何偶数。
挑战:
给定任何非负偶数作为输入,请按求和顺序输出两个数字的索引。(请注意,有时可能有多对。)
规则:
- 指定使用0索引还是1索引。
- 如果要以字符串形式输出,请在两个索引之间放置一个定界符。
- 允许您输出为复数。
- 如果您愿意,可以输出每个有效对。
- Code Golf:最短答案胜出
测试用例
我使用0索引。在这里,我列出了每个输入的所有可能输出,但您只需要输出一个即可。
0: [0 0] 2: [1 0] 4: [1 1] 6: [2 0] 8: [2 1] [3 0] 10: [3 1] 12: [2 2] 14: [3 2] 16: [3 3] 18: [4 0] 30: [6 2] 32: [6 3] [7 2] 46: [7 5] 50: [7 6] 120: [10 10] 338: [19 18] 428: [30 23] [31 22] 712: [33 27] [35 25] [41 19] [43 17] [49 11] [51 9] [57 3] [59 1] 1016: [38 37] [39 36]感谢@Luis Mendo提供测试用例的帮助。
相关:在康托集内吗?