完數 VS 盈數 C

2021-08-22 04:27:41 字數 857 閱讀 7730

題目描述

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

輸入描述:

題目沒有任何輸入。

輸出描述:

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

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

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

其中兩個數之間要有空格,行尾不加空格。

數很小,暴力方法做就可以,注意因子的話只找到sqrt還不行,會漏掉,得找到n-1才行

#include

#include

#include

#include

using

namespace

std;

int e[70], g[70];

int main()

if (sum == i)e[te++] = i;

else

if (sum > i)g[tg++] = i;

}printf("e: ");

for (int i = 0; i < te - 1; i++)

printf("%d ", e[i]);

printf("%d\n", e[te - 1]);

printf("g: ");

for (int i = 0; i < tg - 1; i++)

printf("%d ",g[i]);

printf("%d\n", g[tg - 1]);

}

完數VS盈數

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

機試題 完數VS盈數

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

「完數」和「盈數」

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