7 2 找完數 (10 分

2021-09-19 08:53:13 字數 954 閱讀 4815

7-2 找完數 (10 分)

所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。

輸入格式:

輸入在一行中給出2個正整數m和n(1輸出格式:

逐行輸出給定範圍內每個完數的因子累加形式的分解式,每個完數佔一行,格式為「完數 = 因子1 + 因子2 + … + 因子k」,其中完數和因子均按遞增順序給出。若區間內沒有完數,則輸出「none」。

輸入樣例:

2 30

輸出樣例:

6 = 1 + 2 + 3

28 = 1 + 2 + 4 + 7 + 14

#include

#include

#include

using namespace std;

int a[

1000

], at;

int b[

1000

], bt;

intis

(int x)}if

(sqrt

(x)-

(int

)sqrt

(x)<

1e-3

) tot +

=sqrt

(x), a[at++]=

sqrt

(x);

//單獨判斷平方根

if(tot == x)

return1;

else

return0;

}int

main()

for(

int i = bt-

1;i >=

0;i--

) cout<} m++;}

if(!ok) cout<<

"none"

}

7 45 找完數(20 分)

所謂完數就是該數恰好等於除自身外的因子之和。例如 6 1 2 3,其中1 2 3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。輸入格式 輸入在一行中給出2個正整數m和n 1 m n 10000 中間以空格分隔。輸出格式 逐行輸出給定範圍內每個完數的因子累加形式的分解式,每個完數...

7 45 找完數(20 分)

所謂完數就是該數恰好等於除自身外的因子之和。例如 6 1 2 3,其中1 2 3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。輸入在一行中給出2個正整數m和n 1 逐行輸出給定範圍內每個完數的因子累加形式的分解式,每個完數佔一行,格式為 完數 因子1 因子2 因子k 其中完數和...

7 45 找完數 (20 分)

所謂完數就是該數恰好等於除自身外的因子之和。例如 6 1 2 3,其中1 2 3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。輸入在一行中給出2個正整數m和n 1逐行輸出給定範圍內每個完數的因子累加形式的分解式,每個完數佔一行,格式為 完數 因子1 因子2 因子k 其中完數和因...