完數與盈數

2021-10-19 08:44:04 字數 1074 閱讀 5053

乙個數如果恰好等於它的各個因子(該數本身除外)之和,如 6=3+2+1,那麼稱該數為「完數」;若因子之和大於該數,則稱其為「盈數」,求出2到60之間的所有完數和盈數。

題目沒有任何輸入。

輸出2到60之間的所有「完數」和「盈數」,並以如下形式輸出:

e:e1 e2 e3 …(ei為完數)

g:g1 g2 g3…(gi為盈數)

//完數和盈數

#include

#include

#include

using

namespace std;

vector<

int> numbere;

vector<

int> numberg;

//判斷因子的函式(除了該數本身)

intjudgenumber

(int n)

}return sum;

}int

main()

elseif(

judgenumber

(i)> i)

}//兩種方法輸出

//(方法一)

// vector::iterator it;

// //輸出完數

// printf("e:");

// for(it = numbere.begin(); it != numbere.end(); it++)

// //輸出盈數

// printf("\ng:");

// for(it = numberg.begin(); it != numberg.end(); it++)

//(方法二)

printf

("e:");

for(

int i =

0; isize()

; i++

)printf

("\ng:");

for(

int j =

0; jsize()

; j++

)printf

("\n");

return0;

}

完數與盈數

乙個數如果恰好等於它的各因子 該數本身除外 子和,如 6 3 2 1,則稱其為 完數 若因子之和大於該數,則稱其為 盈數 求出2 到60 之間所有 完數 和 盈數 並以如下形式輸出 e e1 e2 e3 ei 為完數 g g1 g2 g3 gi 為盈數 無按描述要求輸出 注意e和g後面的冒號之後都有...

「完數」和「盈數」

乙個數如果恰好等於它的各因子 該數本身除外 子和,如 6 3 2 1,則稱其為 完數 若因子之和大於該數,則稱其為 盈數 求出2 到60 之間所有 完數 和 盈數 並以如下形式輸出 e e1 e2 e3 ei 為完數 g g1 g2 g3 gi 為盈數 include include include...

完數VS盈數

乙個數如果恰好等於它的各因子 該數本身除外 子和,如 6 3 2 1。則稱其為 完數 若因子之和大於該數,則稱其為 盈數 求出2到60之間所有 完數 和 盈數 題目沒有任何輸入。輸出2到60之間所有 完數 和 盈數 並以如下形式輸出 e e1 e2 e3 ei為完數 g g1 g2 g3 gi為盈數...