Python實(shí)現(xiàn)利用最大公約數(shù)求三個(gè)正整數(shù)的最小公倍數(shù)示例
本文實(shí)例講述了Python實(shí)現(xiàn)利用最大公約數(shù)求三個(gè)正整數(shù)的最小公倍數(shù)。分享給大家供大家參考,具體如下:
在求解兩個(gè)數(shù)的小公倍數(shù)的方法時(shí),假設(shè)兩個(gè)正整數(shù)分別為a、b的最小公倍數(shù)為d,最大公約數(shù)為c。存在這樣的關(guān)系d=a*b/c。通過(guò)這個(gè)關(guān)系式,我們可以快速的求出三個(gè)正整數(shù)的最小公倍數(shù)。
def divisor(a,b):
c = a%b
while c>0:
a=b
b=c
c=a%b
return b
x1 = input("input1:")
x2 = input("input2:")
x3 = input("input3:")
x0 = x1*x2/divisor(x1,x2)
x0 = x0*x3/divisor(x0,x3)
print "the least multiple is:%d"%x0
通過(guò)函數(shù)divisor求解兩個(gè)數(shù)的最大公約數(shù),然后進(jìn)行兩次求解最小公倍數(shù)即可知道三個(gè)正整數(shù)x1、x2、x3的最小公倍數(shù)。
其實(shí)可以通過(guò)divisor1函數(shù)求兩個(gè)數(shù)的最小公倍數(shù),再進(jìn)行嵌套調(diào)用實(shí)現(xiàn)三個(gè)數(shù)的最小公倍數(shù)。
divisor1函數(shù)如下:
def divisor1(a,b):
a1 = a
b1 = b
c = a%b
while c>0:
a=b
b=c
c=a%b
return a1*b1/b
嵌套過(guò)程如下:
x0 = divisor1(divisor1(x1,x2),x3)
可以求得三個(gè)正整數(shù)的最小公倍數(shù)。
Tip: a-bx=c,可知當(dāng)一個(gè)數(shù)為a、b的公約數(shù)時(shí),同時(shí)也是c的約數(shù)。
通過(guò)最大公約數(shù)即可得到最小公倍數(shù)的求解。
def min_multi(a,b): return a*b/divisor1(a,b)
求解質(zhì)數(shù)的函數(shù):
def isPrime(n):
for i in range(2,int(n**0.5)+1):
if n%i==0:
return False
return True
PS:這里再為大家推薦幾款計(jì)算工具供大家進(jìn)一步參考借鑒:
在線一元函數(shù)(方程)求解計(jì)算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi
科學(xué)計(jì)算器在線使用_高級(jí)計(jì)算器在線計(jì)算:
http://tools.jb51.net/jisuanqi/jsqkexue
在線計(jì)算器_標(biāo)準(zhǔn)計(jì)算器:
http://tools.jb51.net/jisuanqi/jsq
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python求最大公約數(shù)和最小公倍數(shù)的簡(jiǎn)單方法
- Python自定義函數(shù)實(shí)現(xiàn)求兩個(gè)數(shù)最大公約數(shù)、最小公倍數(shù)示例
- Python實(shí)現(xiàn)的求解最小公倍數(shù)算法示例
- Python基于遞歸算法求最小公倍數(shù)和最大公約數(shù)示例
- python輾轉(zhuǎn)相除法求最大公約數(shù)和最小公倍數(shù)的實(shí)現(xiàn)
- Python基于遞歸和非遞歸算法求兩個(gè)數(shù)最大公約數(shù)、最小公倍數(shù)示例
- Python 代碼實(shí)現(xiàn)列表的最小公倍數(shù)
- 最小公倍數(shù)Python實(shí)現(xiàn)的方法例子
相關(guān)文章
Python Tornado 實(shí)現(xiàn)SSE服務(wù)端主動(dòng)推送方案
SSE是Server-Sent Events 的簡(jiǎn)稱,是一種服務(wù)器端到客戶端(瀏覽器)的單項(xiàng)消息推送,本文主要探索兩個(gè)方面的實(shí)踐一個(gè)是客戶端發(fā)送請(qǐng)求,服務(wù)端的返回是分多次進(jìn)行傳輸?shù)?直到傳輸完成,這種情況下請(qǐng)求結(jié)束后,考慮關(guān)閉SSE,所以這種連接可以認(rèn)為是暫時(shí)的,感興趣的朋友一起看看吧2024-01-01
用python實(shí)現(xiàn)的可以拷貝或剪切一個(gè)文件列表中的所有文件
python 實(shí)現(xiàn)剪切或是拷貝一個(gè)文件列表中的所有文件2009-04-04
Flask項(xiàng)目中實(shí)現(xiàn)短信驗(yàn)證碼和郵箱驗(yàn)證碼功能
這篇文章主要介紹了Flask項(xiàng)目中實(shí)現(xiàn)短信驗(yàn)證碼和郵箱驗(yàn)證碼功能,需本文通過(guò)截圖實(shí)例代碼的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-12-12
python數(shù)學(xué)模塊(math/decimal模塊)
這篇文章主要介紹了python數(shù)學(xué)模塊(math/decimal模塊),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
如何使用Python對(duì)日期和時(shí)間進(jìn)行排序
本文將教我們?nèi)绾问褂肞ython對(duì)日期和時(shí)間進(jìn)行排序,我們還將學(xué)習(xí)datetime模塊和sorted方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-06-06

