問題 A: 完數
時間限制: 1 Sec 記憶體限制: 32 MB
題目描述
求1-n内的完數,所謂的完數是這樣的數,它的所有因子相加等于它自身,比如6有3個因子1,2,3,1+2+3=6,那麼6是完數。即完數是等于其所有因子相加和的數。
輸入
測試資料有多組,輸入n,n資料範圍不大。
輸出
對于每組輸入,請輸出1-n内所有的完數。如有案例輸出有多個數字,用空格隔開,輸出最後不要有多餘的空格。
樣例輸入
6
樣例輸出
6
經驗總結
AC代碼
#include <cstdio>
int main()
{
int a[8]={6,28,496,8128,33550336,0},n;
while(~scanf("%d",&n))
{
for(int i=0;i<6;i++)
{
if(a[i]<=n)
{
printf("%d",a[i]);
if(a[i+1]<=n&&a[i+1]!=0)
printf(" ");
else
{
printf("\n");
break;
}
}
}
}
return 0;
}