用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

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