标题:
完数
类别:
时间限制:
2 S
内存限制:
10000 Kb
问题描述:
请写一个程序,给出指定整数范围[a,b]内的所有完数,0 < a < b < 10000。
一个数如果恰好等于除它本身外的所有因子之和,这个数就称为"完数"。
例如6是完数,因为6=1+2+3
输入说明
输入为两个整数a和b,a和b之间用空格分隔
输出说明
输出[a,b]内的所有完数,每个数字占一行
输入样例
1 10
输出样例
6
#include <stdio.h>
int main () {
int a = 0;
int b = 0;
int c = 0;
int n = 0;
int sum = 0;
scanf ("%d %d", &a, &b);
int i = a;
for (i = a; i <= b; i++) {
sum = 0;
c = 1;
while (c < i) {
if (i % c == 0)
sum = sum + c;
c++;
}
if (sum == i)
printf ("%d\n", i);
}
return 0;
}