题目描述
求出区间[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()