description:所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。
input:輸入僅一行,輸入2個正整數m和n(110000以內的完數如下:
1 = 1
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248
8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064
我們可以發現對於它們的因數除了「1」這個因數外,都是前後對應的
比如 :
2 * 4064 = 8128
4 * 2032 = 8128
8 * 1016 = 8128
16 * 508 = 8128
......
所以只要找到前面的因數,再拿其整除它本身就可以了
import math
m, n =
map(
int,
input()
.split())
t =true
#判斷是否有完數
for k in
range
(m, n +1)
: num =[1
]for a in
range(2
,int
(math.sqrt(k))+
1):if k % a ==0:
if a * a != k:
#這裡是防止前面找到的因數被重複加入列表
#通過整除找到後面對應的乙個因數
ifsum
(num)
== k:
t =false
num.sort(
)print
(k,"="
, end=
' ')
print
(*num, sep=
" + "
)if t:
print
("none"
)
Python程式設計PTA題解 刪除字元
description 輸入乙個字串 str,再輸入要刪除字元 c,大小寫不區分,將字串 str 現的所有字元 c 刪除。input 在第一行中輸入一行字元 在第二行輸入待刪除的字元 output 輸出僅一行,輸出刪除後的字串 sample input beee sample output resu...
Python程式設計PTA題解 詞頻統計
description 編寫程式,對一段英文文字,統計其中所有不同單詞的個數,以及詞頻最大的前10 的單詞。所謂 單詞 是指由不超過80個單詞字元組成的連續字串,但長度超過15的單詞將只擷取保留前15個單詞字元。而合法的 單詞字元 為大小寫字母 數字和下劃線,其它字元均認為是單詞分隔符。input ...
PTA 找完數 20分
所謂完數就是該數恰好等於除自身外的因子之和。例如 6 1 2 3,其中1 2 3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。輸入在一行中給出2個正整數m和n 1逐行輸出給定範圍內每個完數的因子累加形式的分解式,每個完數佔一行,格式為 完數 因子1 因子2 因子k 其中完數和因...