內存限制:32 兆
特殊判題:否
提交:4423
解決:1794
- 題目描述:
-
求1-n內的完數,所謂的完數是這樣的數,它的所有因子相加等於它自身,比如6有3個因子1,2,3,1+2+3=6,那麼6是完數。即完數是等於其所有因子相加和的數。
- 輸入:
-
測試數據有多組,輸入n,n數據範圍不大。
- 輸出:
-
對於每組輸入,請輸出1-n內所有的完數。如有案例輸出有多個數字,用空格隔開,輸出最後不要有多餘的空格。
- 樣例輸入:
-
6
- 樣例輸出:
-
6
- 答疑:
- 解題遇到問題?分享解題心得?討論本題請訪問:http://t.jobdu.com/thread-7774-1-1.html
#include<stdio.h>
int main()
{
int i,j,n,m;
while(scanf("%d",&n) != EOF)
{
int flag = 0;
for(i = 2; i <= n; i++)
{
m = 0;
for(j = 1; j < i; j++)
{
if(i % j == 0)
{
m += j;
}
}
if(m == i)
{
flag ++;
if(flag == 1)
{
printf("%d",i);
}
if(flag > 1)
{
printf("% d",i);
}
}
}
printf("\n");
}
return 0;
}