用Python分解質因數

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章