分析:
對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:
- 如果這個質數恰等于n,則說明分解質因數的過程已經結束,列印出即可。
- 如果n!=k,但n能被k整除,則應列印出k的值,并用n除以k的商,作為新的正整數你n,重複執行第一步。
- 如果n不能被k整除,則用k+1作為k的值,重複執行第一步
代碼示例如下
解法一
while 1:
n = int(input('請輸入一個整數:'))
print('%d='%n,end='')
while n>1:
for i in range(2,n+1):
if n%i==0:
n=int(n/i)
if n==1:
print('%d'%i,end='')
else:
print('%d*'%i,end='')
break
print()
運作結果:
from math import sqrt
while 1:
n=int(input('請輸入整數:'))
print ("%d = " %n , end = '')
while 1:
for i in range(2,int(sqrt(n)+1)):
if n%i==0:
print('%d*'%i,end='')
n=int(n/i)
break
else:
print(n)
break