天天看點

1783 Problem A 完數

問題 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;
}      

繼續閱讀