P5734: 完美数
传统题
1.000s
时间限制
128MB
内存限制
44 提交
23 解决
【题目描述】
编程计算并输出
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之间所有的完美数。
输出有多行。一行一个数。