回覆列表
  • 1 # daazhu2

    完數,即完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。其所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等於本身。

    根據該定義 可以得出判斷完數的函式如下:

    #include

    int is_perfect_number(int n)

    {

    int i,s=0;

    for(i = 1; i

    if(n%i == 0) s+= i;//統計所有真因子的和。

    if(s == n) return 1;//如果與原值相等,則該數為完數。

    return 0;//不是完數。

    }

    根據該函式,只需要對需要列印的範圍內1 ~1000做遍歷,並逐一呼叫該函式判斷,如果返回1則列印即可。

    完整程式碼如下:

    #include

    int is_perfect_number(int n)

    {

    int i,s=0;

    for(i = 1; i

    if(n%i == 0) s+= i;//統計所有真因子的和。

    if(s == n) return 1;//如果與原值相等,則該數為完數。

    return 0;//不是完數。

    }

    int main()

    {

    int n;

    for(n = 1; n

    if(is_perfect_number(n)) printf("%d,",n);

    }

  • 中秋節和大豐收的關聯?
  • 1991年農曆10月17日是什麼星座?