自我数计算器

输入一个数字,判断它是否为自我数;或输入起始数与终止数,生成范围内的所有自我数。

自我数判断或生成

什么是自我数?

自我数,也称为哥伦比亚数,是指在给定进制中,不能通过任何整数加上其各位数字的和生成的自然数。例如,如果一个数 \( n \) 能被表示为 \( n = m + S(m) \),其中 \( S(m) \) 是整数 \( m \) 的各位数字之和,则 \( n \) 不是自我数。

如何判断一个数是否为自我数?

  1. 自然数判断:判断数字是否为自然数。
  2. 循环检查:对于所有小于该数字的自然数 \( m \):
    • 计算 \( S(m) \):即 \( m \) 的各位数字之和。
    • 计算 \( m + S(m) \)。
    • 如果找到一个 \( m \) 使得 \( m + S(m) = n \),则 \( n \) 不是自我数。
  3. 结果:如果遍历所有 \( m \) 后没有找到符合条件的,则 \( n \) 是自我数。

示例:判断 21 是否为自我数

解答:

对于 \( m = 1 \) 到 \( 20 \),逐个计算 \( m + S(m) \):

  • 1: \( 1 + 1 = 2 \)
  • 2: \( 2 + 2 = 4 \)
  • 3: \( 3 + 3 = 6 \)
  • 4: \( 4 + 4 = 8 \)
  • ...
  • 14: \( 14 + 1 + 4 = 19 \)
  • 15: \( 15 + 1 + 5 = 21 \)(找到符合条件的 \( m \))

所以,21 不是自我数。

前 100 个自我数

  • 1
  • 3
  • 5
  • 7
  • 9
  • 20
  • 31
  • 42
  • 53
  • 64
  • 75
  • 86
  • 97
  • 108
  • 110
  • 121
  • 132
  • 143
  • 154
  • 165
  • 176
  • 187
  • 198
  • 209
  • 211
  • 222
  • 233
  • 244
  • 255
  • 266
  • 277
  • 288
  • 299
  • 310
  • 312
  • 323
  • 334
  • 345
  • 356
  • 367
  • 378
  • 389
  • 400
  • 411
  • 413
  • 424
  • 435
  • 446
  • 457
  • 468
  • 479
  • 490
  • 501
  • 512
  • 514
  • 525
  • 536
  • 547
  • 558
  • 569
  • 580
  • 591
  • 602
  • 613
  • 615
  • 626
  • 637
  • 648
  • 659
  • 670
  • 681
  • 692
  • 703
  • 714
  • 716
  • 727
  • 738
  • 749
  • 760
  • 771
  • 782
  • 793
  • 804
  • 815
  • 817
  • 828
  • 839
  • 850
  • 861
  • 872
  • 883
  • 894
  • 905
  • 916
  • 918
  • 929
  • 940
  • 951
  • 962
  • 973