匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 9 年前

c++ 盈數、虧數和完全數

是 c++ 不是 C !!

題目:

對一個正整數 N 而言,將它除了本身以外所有的因數加起來的總和為 S,如果 S>N,則 N 為盈數,如果 S<N,則 N 為虧數,而如果 S=N,則 N 為完全數(Perfect Number)。例如 10 的因數有 1、2、5、10,1+2+5=8<10,因此10 為虧數,而 12 的因數有 1、2、3、4、6、12,1+2+3+4+6=16>12,因此 12 為盈數。至於 6 的因數有 1、2、3、6,1+2+3=6,所以 6 是完全數(它也是第一個完全數)。

現在請你寫一個程式,輸入一個正整數 N,然後印出它是盈數、虧數還是完全數。

範例輸入 :

30

26

28

範例輸出 :

盈數

虧數

完全數

已更新項目:

請多一點註解,謝謝,各位大大!!

2 個解答

評分
  • 9 年前
    最佳解答

    static String numType(int n)

    {

    int sum;

    int i;

    for (i = 2, sum = 1; i * i <= n; ++i)

    {

    if (n % i == 0) { sum += i; if (i * i != n) sum += n / i; }

    }

    if (sum < n) return "deficient";

    if (sum == n) return "perfect";

    return "abundant";

    }

    2010-09-20 06:10:13 補充:

    "deficient" = 虧數

    "perfect" = 完全數

    "abundant" = 盈數

  • 匿名使用者
    5 年前

    到下面的網址看看吧

    ▶▶http://*****

還有問題?馬上發問,尋求解答。