根据 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
实现一种方法,判断给定的数是否为完全数。 根据你所使用的编程语言,你可能还需要实现判断给定数是过剩数还是亏数的方法。
| 寄存器 | 用途 | 类型 | 描述 |
|---|---|---|---|
$a0 |
输入 | 整数 | 数字 |
$v0 |
输出 | 整数 | 分类(1 = perfect,2 = abundant,3 = deficient,-1 = error) |
$t0-9 |
临时 | 任意 | 用于临时存储 |