題目描述
乙個數如果恰好等於它的各因子(該數本身除外)子和,如:6=3+2+1。則稱其為「完數」;若因子之和大於該數,則稱其為「盈數」。 求出2到60之間所有「完數」和「盈數」。
輸入描述:數很小,暴力方法做就可以,注意因子的話只找到sqrt還不行,會漏掉,得找到n-1才行題目沒有任何輸入。
輸出描述:
輸出2到60之間所有「完數」和「盈數」,並以如下形式輸出:
e: e1 e2 e3 ……(ei為完數)
g: g1 g2 g3 ……(gi為盈數)
其中兩個數之間要有空格,行尾不加空格。
#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...