/****************************************
*****AUTHER:liuyongshui
*******DATE:2013\4\7
***LANGUAGE:C
***QUESTION:打印一個數內的所有完數
****************************************/
#include <stdio.h>
int main()
{
int i;
int j;
int num;
int sum;
int k=0;
int a[1000]; //用於存儲完數
printf("請輸入一個整數(該數是一定大的):");
scanf("%d", &num);
for(i=1; i<=num; i++)
{
sum=0;
for(j=1; j<i; j++)
{
if(i%j==0) //判斷i是否被j整除
{
sum+=j;
}
}
if(sum==i) //判斷i是否是完數
{
a[k++]=i;
}
}
if(k)
{
printf("%d內的完數有:\n", num);
for(i=0; i<k; i++)
{
printf("%d\n", a[i]);
}
}
else
{
printf("在%d內沒有完數!\n", num);
}
return 0;
}