特殊数判定器

数字输入

示例数字:

检测结果

输入数字后点击"开始检测"

特殊数说明:

1. 完全数(Perfect Number):
完全数是指所有真因子(即除了自身以外的正因子)之和等于它本身的正整数。
σ(n) = 2n,其中 σ(n) 是 n 的所有因子(包括自身)之和
  • 例子:6 = 1 + 2 + 3(因子:1, 2, 3)
  • 例子:28 = 1 + 2 + 4 + 7 + 14(因子:1, 2, 4, 7, 14)
  • 已知完全数:6, 28, 496, 8128, 33550336...
  • 欧几里德-欧拉定理:如果 2^p - 1 是质数(梅森质数),则 2^(p-1) × (2^p - 1) 是完全数
  • 未解之谜:是否存在奇完全数?目前仍未找到
2. 友好数(Amicable Numbers):
友好数是一对数字,其中每个数的真因子之和等于另一个数。
σ(a) - a = b 且 σ(b) - b = a,其中 a ≠ b
  • 例子:220 和 284 是友好数对
  • 220 的真因子:1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110,和为 284
  • 284 的真因子:1, 2, 4, 71, 142,和为 220
  • 其他友好数对:(1184, 1210), (2620, 2924), (5020, 5564)...
  • 历史:毕达哥拉斯学派在公元前6世纪就已知 220 和 284 这对友好数
3. 阿姆斯特朗数(Armstrong Number / 自恋数):
阿姆斯特朗数是指一个 k 位数,它的每个位上的数字的 k 次幂之和等于它本身。
n = d₁^k + d₂^k + ... + dₖ^k,其中 k 为数字位数
  • 1位数:0, 1, 2, 3, 4, 5, 6, 7, 8, 9(所有个位数都是阿姆斯特朗数)
  • 3位数:153 = 1³ + 5³ + 3³ = 1 + 125 + 27
  • 3位数:370 = 3³ + 7³ + 0³ = 27 + 343 + 0
  • 3位数:371 = 3³ + 7³ + 1³ = 27 + 343 + 1
  • 3位数:407 = 4³ + 0³ + 7³ = 64 + 0 + 343
  • 4位数:1634 = 1⁴ + 6⁴ + 3⁴ + 4⁴ = 1 + 1296 + 81 + 256
  • 4位数:8208, 9474
  • 总数:只有有限个阿姆斯特朗数(88个已知)

算法复杂度:

  • 完全数检测:O(√n) - 需要找到所有因子
  • 友好数检测:O(√n) - 需要计算真因子之和并检查配对
  • 阿姆斯特朗数检测:O(k) - k 为数字位数,需要遍历每一位

注意事项:

  • 完全数非常稀少,目前只发现 51 个(截至2024年)
  • 友好数检测对于大数字可能需要较长时间,因为需要计算因子和
  • 阿姆斯特朗数的检测相对快速,但总数有限
  • 1 不被认为是完全数,尽管它的真因子之和为0