質數又稱為素數,要解決這個問題,我們首先要對輸入的數字進行判斷,判斷其本身是否為素數。
如果為素數則其因式隻有1與其本身。
def f3(n):#判斷一個數字是否為素數
list1=[]#建立空清單用以盛放元素
for i in range(2,n):#對範圍(2,n-1)依次取餘
if n%i==0:#這時代表n并非是個素數
list1.append(i)
if len(list1) == 0:
return True
else:
return False
建立好這個函數之後,我們開始整體代碼的編寫
def f3(n):#判斷一個數字是否為素數
list1=[]
for i in range(2,n):
if n%i==0:
list1.append(i)
if len(list1) == 0:
return True
else:
return False
def fundation(n):#定義主要函數
l1 = []
k=n
if f3(n):#如果n是素數直接輸出結果
print('{}=={}*1'.format(n, n))
else:#n如果不是素數進行後續處理
while True:#無限進行循環對n進行處理
for i in range(2,k):#k==n,即判斷他除了1外的其他因子
if n%i==0 and f3(i):#條件使i為n的一個因子,且是一個素數
l1.append(i)#将i添加進空清單備用
n=n//i#條件符合對n的值進行修改
if f3(n):
l1.append(n)
break#處理至也為素數時跳出循環體,并将n添加進清單
for j in range(len(l1)):
print('{}*'.format(l1[0]),end='')
l1.pop(0)#保證每次列印不同的元素
else:
print('1',end='')
return ''#防止傳回空值
n=int(input('輸入一個數字:'))
print('{1}={0}'.format(n,fundation(n)))
這樣就實作了我們的目的,謝謝大家的閱覽