思路:1.定义一个函数,判断是否是素数(利用素数定义就可以)
2.对具体的数字N,首先判断是否是素数.是程序结束,不是则利用if-else嵌套要求同时满足两个条件
(1)对属于(2,N)之间的数i,能整除N
(2)i是素数
则i是n的质因数,如果i%N是质数,就不用再分解了,不是继续循环
代码如下
def sushu(number):
for i in range (2,int(number**0.5)+1):
if number%i==0:
return False
else:
return True
n=int(input("Enter your number"))
while True:
if sushu(n):
print(str(n)+"is shu shu")
else:
for j in range(2,n):
if sushu(j):
if n%j==0:
print(j)
if sushu(n%j):
exit()
else:
n=n%j