python將輸入的一個正整數分解質因數(map)

我の前端日记發表於2024-10-25

利用map函式

# coding=utf-8

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

# 請在此新增程式碼,將輸入的一個正整數分解質因數
########## Begin ##########

N = x
n = x
k=2
result=[]
while(k<=x):#初值k為2,x為輸入的數字,在程式執行的過程中k漸漸變大(k++),x漸漸變小(x/k)
    if(k==x):#當x和k相等的時候,就直接輸出n的值(此時輸出k也行,因為x==k)
        result.append(x)
        break
    elif(x%k==0):
        result.append(k)#如果x <> k,但n能被k整除,則應列印出k的值
        x = x//k#x除以k的商,作為新的正整數你x
    else:
        k+=1#如果x不能被k整除,則用k+1作為k的值



########## End ##########

# 輸出結果,利用map()函式將結果按照規定字串格式輸出
print(N,'=','*'.join(map(str,result)))

相關文章