第4章 30 找完數 20分

2021-10-01 06:33:03 字數 787 閱讀 9485

第4章-30 找完數 (20分)

所謂完數就是該數恰好等於除自身外的因子之和。例如: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

整數因子分解問題

import math

l =flag =0

m,n=input().split()

m=int(m)

n=int(n)

for i in range(m,n+1):

for a in range(2,int(math.sqrt(i)+1)):

if i%a ==0:

if a*a!=i:

if sum(l)==i:

print(' = '.format(i),end='')

l.sort()

print(' + '.join('%s' %id for id in l))

flag=1

l=if(flag==0):

print('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 其中完數和因...