完全数

完全数

简单

说明

根据 Nicomachus(公元 60 - 120 年)对正整数的分类方法,判断一个数是完全数、过剩数还是亏数。

希腊数学家 Nicomachus 为正整数设计了一套分类方法,根据每个数的真因数和,把它们分别归入完全数、过剩数或亏数这三类,且每个数只属于其中一类。 _真因数和_的定义是:一个数的所有因数之和,但不包括这个数本身。 例如,15 的真因数和是 1 + 3 + 5 = 9。

完全数

当一个数等于它的真因数和时,它就是完全数。 例如:

  • 6 是完全数,因为 1 + 2 + 3 = 6
  • 28 是完全数,因为 1 + 2 + 4 + 7 + 14 = 28

过剩数

当一个数小于它的真因数和时,它就是过剩数。 例如:

  • 12 是过剩数,因为 1 + 2 + 3 + 4 + 6 = 16
  • 24 是过剩数,因为 1 + 2 + 3 + 4 + 6 + 8 + 12 = 36

亏数

当一个数大于它的真因数和时,它就是亏数。 例如:

  • 8 是亏数,因为 1 + 2 + 4 = 7
  • 质数都是亏数

任务

实现一种方法,判断给定的数是否为完全数。 根据你所使用的编程语言,你可能还需要实现判断给定数是过剩数还是亏数的方法。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Vim script Exercism

准备好开始 完全数 了吗?

注册 Exercism,借助 89 个练习 和真人导师指导,学习并掌握 Vim script,全部免费。