問題描述 :
尋找怪數:有一種奇怪的自然數,它的比其本身小的所有因子之和等於它本身,例如:6=1+2+3,其中1、2、3都是6的因子,編程找出整數N之內的所有怪數。
輸入說明 :
輸入一個整數N(10<=N≤10000),在行首和行尾沒有多餘的空格。
輸出說明 :
輸出N之內(<=N)的所有怪數,每一行輸出一個整數。(注:若N中有3個怪數,你則需要輸出三行,每行一個怪數。)所有數據前後沒有多餘的空格,中間也沒有多餘的空行。
輸入範例 :
28
輸出範例 :
6
28
c源碼:
#include<stdio.h>
int main()
{
int n,s=0,i,j;
scanf("%d",&n);
if(n>=10&&n<=10000)
{
for(i=1;i<=n;i++)
{ s=0;
for(j=1;j<=i;j++)
{
if(i%j==0&&j<i)
s=s+j;
}
if(s==i)
printf("%d\n",i);
}
}
return 0;
}