数字的最小基数,使其在该基数中表示为回文

CRM*_*CRM 6 c math data-structures

给定一个整数x,我必须找到一个最小基数b(b> 1),使得x 基数 b是回文.

例如:5个碱基2是回文序列,即5个碱基2:101是回文结构.除了解决蛮力之外,如何以更好的方式解决它?

Joh*_*nck 4

公平警告:这不是完整的答案,但有一些可能有用的注释。希望鉴于到目前为止问题和评论的非正统性质,没有人会对此感到太不安。:)

  • 基地2
    • 11:3
    • 101:5(+2)d
    • 111:7(+2)2
    • 1001:9 (+2) 天
    • 1111:15(+6)2
    • 10001: 17 (+2) 天
    • 10101:21(+4)
    • 11011:27(+6)2
    • 11111:31(+4)
    • 100001:33(+2)天
    • 101101:45(+12)
    • 110011:51(+6)2
    • 111111:63(+12)
  • 基地3
    • 11:4
    • 22:8(+4)1
    • 101:10(+2)天
    • 111:13(+3)
    • 121:16(+3)
    • 202:20(+4)1
    • 212:23(+3)
    • 222:26(+3)
    • 1001:28(+2)天
    • 1111:40(+12)
    • 1221:52(+12)
    • 2002年:56(+4)1
    • 2112:68(+12)
    • 2222:80(+12)
  • 基地4
    • 11:5
    • 22:10(+5)1
    • 33:15(+5)1
    • 101:17(+2)d
    • 111:21(+4)
    • 121:25(+4)
    • 131:29(+4)
    • 202:34(+5)1
    • 212:38(+4)
    • 222:42(+4)
    • 232:46(+4)
    • 303:51(+5)1
    • 313:55(+4)
    • 323:59(+4)
    • 333:63(+4)

我将与之前的区别标记为 (+n) 并在最后添加了一些注释:

  • 1:此处递增的第一个数字
  • 2:这里增加第二个数字(我只将此标记为基数 2;它在其他地方似乎不相关)
  • d:此处增加的位数(第一位数字重置为1)

一些结构观察:

  • 基数中的第一个(最小)回文总是(基数+1)。我们不允许使用 1,也不允许使用任何前导零。
  • (N < base) 的前 N ​​个回文是 N*(base+1)。
  • 第 (base) 回文数始终比第 (base-1) 回文多 2(并且始终表示为 101)。
  • 2 位回文数的个数为 (base-1)。
  • 3 位和 4 位回文数的个数为 (base-1)*base。

最后,一些尚未成熟的想法:

  • x 的回文表示的位数为 1+log_base(x)。
  • 给定长度的第一个回文总是 10..01。
  • 当末尾没有标记时(即当第一个数字和数字计数都不变时),您可以看到重复差异的模式。这可以让我们“快进”从 10..01 开始的候选回文。