C语言入门题库——打印完数
Description:完成打印1000以内所有的完数。完数:该数的各因子之和正好等于该数本身。
例如:6=1+2+3
28=1+2+4+7+14
所以:6,28都是完数
Input:输入仅一行,输入2个正整数m 和n(m≥1,n≤1000)
Output:输出m~n之间的所有完数
Sample Input:每行1个完数
Sample Output:1 100
6
28
//打印完数
#include<stdio.h>
int main()
{
int m, n, sum, i;
scanf("%d%d", &m, &n);
for(; m<=n; m++)
{
sum = 0;
for(i=1; i<=m/2; i++)
{
if(m % i == 0)
sum += i;
}
if(sum == m)
printf("%d\n", m);
}
return 0;
}