1. 程式人生 > 實用技巧 >將輸入的正整數分解質因數

將輸入的正整數分解質因數

程式設計要求:

將輸入的一個正整數分解質因數,並輸出結果。如:輸入:90,輸出:90=2*3*3*5;輸入:79,輸出:79=79

思路:

如果是質數,直接輸出;如果不是,則一個質因數一個質因數找下去,如90=2*45,2是質數,接著判斷45,以此類推。

程式碼示例(Python):

#輸入一個正整數
x = int(input())

#將輸入的正整數分解質因數
#判斷是否為質數
def isprime(n):
    if n == 2 or n == 3:
        return True
    mid = int(n**0.5)
    for i in range(2, mid+1):
        
if n % i == 0: return False return True #分解輸入的正整數,輸出質因數列表 def fenjie(n): lst = []
while(not isprime(n)): mid = int(n**0.5) for i in range(2, mid+1): a, b = divmod(n, i) if b == 0: lst.append(i) n = a
break #找到一個因子,退出for,找餘數的質因數 lst.append(n) return lst rst = fenjie(x) #輸出結果,利用map()函式將結果按照規定字串格式輸出 print(x,'=','*'.join(map(str,rst)))

總結:

思路不對,則程式各種邏輯錯誤。