题目描述
编程计算并输出0~n之间所有的完美数,要求在主函数中调用函数来完成。
说明:如果有一数n,其真因数(Proper factor)的总和等于n,则称之为完美数(Perfect Number), 例如以下几个数都是完美数: 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248
程式基本上不难,第一眼看到时会想到求出所有真因数,再进一步求因数和,不过若n值很大,则此法会花费许多时间在回圈测试上,十分没有效率,例如求小于10000的所有完美数。
输入
输入一个正整数 n (n<10000)
输出
输出0~n之间所有的完美数。
输出有多行。一行一个数。
输出有多行。一行一个数。
样例输入 复制
100
样例输出 复制
6
28