【质因数分解】对用户输入的一个大于10的整数进行质因数分解。假设输入符合要求,程序显示该数的质因数分解结果,且各个质因数从小到大排列。
程序的一次执行过程如下图所示:
如果用户输入的是一个质数,则程序显示1乘以该数。下图是用户输入一个质数的分解结果:
程序代码如下:
#质因数分解
import math
x = int(input("请输入一个大于10的整数:"))
primes =[ ___1___ for p in range(2, x//2+1) if 0 not in[p%d for d in range(2, int(math.sqrt(p))+1)] ]
factorList = []
y = x
for i in primes:
while y % i == 0:
factorList.append(i)
y = y // i
if factorList == []:
print("%d=%d*%d" % ___2___)
else:
s = "*".join( map( ___3___ , factorList) )
print("%d=%s" % (x,s))
#结束