『壹』 使用python將一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。應該要怎麼做
對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。
(2)如果n<>k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正整數你n,重復執行第一步。
(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。
程序源代碼:
實例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def receNum(n):
print '{} = '.format(n),
if not isinstance(n, int) or n <= 0 :
print '請輸入一個正確的數字 !'
exit(0)
elif n in [1] :
print '{}'.format(n)
while n not in [1] : # 循環保證遞歸
for index in xrange(2, n + 1) :
if n % index == 0:
n /= index # n 等於 n/index
if n == 1:
print index
else : # index 一定是素數
print '{} *'.format(index),
break
receNum(90)
receNum(100)
以上實例輸出結果為:
90 = 2 * 3 * 3 * 5100 = 2 * 2 * 5 * 5
『貳』 python 求最大公約數
使用Python求解兩個數的最大公約數的時候用到了前面介紹的分解質因式。其實,我寫分解質因式程序的時候就是因為發現在實現最大公約數求解的過程中用到了這個功能
『叄』 Python求因數分解
defm(n):
ret=[]
whilen>1:
foriinrange(n-1):
k=i+2
ifn%k==0:
ret.append(k)
n=int(n/k)
break
print(ret)
m(20)就可以輸出20的因式分解了。
至於如何處理成^就比較簡單了,可以用 Counter 自己處理下。
『肆』 誰知道這道Python題如何計算
應該也不難吧,因式分解
『伍』 python 因式分解哪裡錯了
n=int(input('pleaseenteranumber:'))
whilen>1:
foriinrange(2,n+1):
ifn%i==0:
n=n//i
ifn==1:
print(i)
else:
print(i,'*',end='')
break
『陸』 求Python的質因數分解
x=eval(input("請輸入小於1000的整數:"))
k=2
print(x,"=",end="")
while x>1:
if x%k==0:
print(k,end="")
x=x/k
if x>1:
print("*",end="")
else:
k=k+1
『柒』 三次多項式因式分解 python程序
temp = []
for d in range(0,c+1):
for e in range(d,c+1):
for f in range(e,c+1):
if d+e+f == a and d*e+e*f+d*f == b and d*e*f == c :
print('({},{},{})'.format(d,e,f))
temp.append((d,e,f))
if len(temp) < 1:
print('無法分解')
『捌』 python結果輸出不成功
你要輸出的是大於等於10000的四位數,判斷條件都寫錯了,還有列表添加元素最好用,append
,而不是讓列表直接加!
『玖』 python+100+102+104+106+108+110+加到200怎麼寫
摘要 您好關於您的問題很好解決,可以通過簡單的判斷語句和循環解決.我示意性的給您一個代碼提示: