思路: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