藍橋杯—每日一題—質因數分解
阿新 • • 發佈:2021-01-18
文章目錄
題目描述
求出區間[a,b]中所有整數的質因數分解。
提示
先篩出所有素數,然後再分解。
資料規模和約定
2< =a< =b< =10000
題目求解
#獲取使用者輸入
a,b = map(int,input().split(" "))
#判斷素數
def judge(n):
flag = True
for i in range(2,n):
if n%i==0:
flag = False
break
else :
continue
return flag
# 分解
def depose(n):
depose_result = 0
for i in range(2,n+1):
if n%i==0:
depose_result = i
# print(depose_result)
break
else:
continue
return depose_result
def start():
for i in range(a,b+1):
result_list = []
n=i
while n>=1:
if (judge(n)==True)|(n==2):
result_list.append(n)
break
else:
temp = depose(n)
result_list.append(temp)
n = n//temp
print ("{0}=".format(i),end="")
temp2 = len(result_list)
count = 1
for number in result_list:
if count!=temp2:
print("{0}*".format(number),end="")
count = count + 1
elif count == temp2:
print(number)
start()