把一個合數分解成若干個質因數的乘積的形式,即求質因數的過程叫做分解質因數。
Python練習題問題如下:
要求:將一個正整數分解質因數;例如您輸入90,分解打印90=2*3*3*5。
Python解題思路分析:
這道題需要分三部分來分解,具體分解說明如下。
1、首先當這個質數恰等於n的情況下,則說明分解質因數的過程已經結束,打印出即可。
2、如果遇到n<>k,但n能被k整除的情況,則應打印出k的值。同時用n除以k的商,作為新的正整數你n,之后再重復執行第一步的操作。
3、如果n不能被k整除時,那么用k+1作為k的值,再來重復執行第一步的操作系統。
def reduceNum(n): print ('{} = '.format(n)) if not isinstance(n, int) or n <= 0 : print ('請輸入一個正確的數字') exit(0) elif n in [1] : # 如果 n 為 1 print('{}'.format(n)) while n not in [1] : # 循環保證遞歸 for index in range(2, n + 1) : if n % index == 0: n //= index # n 等於 n//index if n == 1: print (index) else : # index 一定是素數 print ('{} *'.format(index),end = " ") break reduceNum(90) reduceNum(100)
2020-05-18