思路:
将一百以内的素数建成一个列表
输入数后向数组中查询
如果不在数组中,就从列表中最小的素数开始,找到能被该数整除得数
将得到的数进行步骤23,知道满足条件一
import math
prime=[]
factor=[]
def is_Prime(n):
for i in range(2,int(math.sqrt(n))+1):
if(n%i==0):
return False
return True
def get_factor(num,prime):
if num in prime:
print("本身就是一个质数"+str(num))
factor.append(int(num))
else:
for i in prime:
if(num%i==0):
factor.append(i)
num=num/i
get_factor(num,prime)
break
for i in range(2,100):
if is_Prime(i):
prime.append(i)
num_str = input("请输入要分解的数字: ")
num=int(num_str)
get_factor(num,prime)
print(factor)