講一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90邓尤,打印出90=233*5
num=[] #該數(shù)字的所有素?cái)?shù)
fac_num=[] #該數(shù)字的因數(shù)
def pri_num(val): #求出該數(shù)字的所有素?cái)?shù)
for i in range(2,val):
if i<=4:
j=i
else:
j=i//2
for k in range(2,j):
if i%k==0:
break
else:
num.append(i)
def sol_factor(val,k): #求因數(shù)
for i in k: #遍歷素?cái)?shù)
if val%i==0:
return i
break
input_num=int(input('請(qǐng)輸入要分解的數(shù):'))
pri_num(input_num) #求出該數(shù)字的所有素?cái)?shù)
decom_num=input_num #要分解的數(shù)
while True:
res=sol_factor(decom_num,num)
print(res)
if res==decom_num: #遍歷結(jié)束
fac_num.append(str(res))
break
else:
fac_num.append(str(res))
decom_num= decom_num/res
print(input_num,'=','*'.join(fac_num))#分解后的表達(dá)式