Python基于遞歸和非遞歸算法求兩個(gè)數(shù)最大公約數(shù)、最小公倍數(shù)示例
本文實(shí)例講述了Python基于遞歸和非遞歸算法求兩個(gè)數(shù)最大公約數(shù)、最小公倍數(shù)。分享給大家供大家參考,具體如下:
最大公約數(shù)和最小公倍數(shù)的概念大家都很熟悉了,在這里就不多說了,今天這個(gè)是因?yàn)樽鲱}的時(shí)候遇到了所以就寫下來作為記錄,也希望幫到別人,下面是代碼:
#!/usr/bin/env python
#coding:utf-8
from fractions import gcd
#非遞歸實(shí)現(xiàn)
def gcd_test_one(a, b):
if a!=0 and b!=0:
if a>b:
a, b=b, a
if b%a==0:
return a
gcd_list=[]
for i in range(1,a):
if b%i==0 and a%i==0:
gcd_list.append(i)
return max(gcd_list)
else:
print 'Number is wrong!!!'
#遞歸實(shí)現(xiàn)
def gcd_test_two(a, b):
if a>b:
a, b=b, a
if b%a==0:
return a
else:
return gcd_test_two(a,b%a)
#python自帶的gcd
def gcd_test_three(a, b):
return gcd(a,b)
if __name__ == '__main__':
print gcd_test_one(12,24)
print gcd_test_one(12,8)
print gcd_test_one(6,24)
print gcd_test_one(0,24)
print '----------------------------------------------------------------------------'
print gcd_test_two(12,24)
print gcd_test_two(12,8)
print gcd_test_two(6,32)
print '----------------------------------------------------------------------------'
print gcd_test_three(12,24)
print gcd_test_three(12,8)
結(jié)果如下:
12
4
6
Number is wrong!!!
None
----------------------------------------------------------------------------
12
4
2
----------------------------------------------------------------------------
12
4
PS:這里再為大家推薦一款本站相關(guān)在線工具供大家參考:
在線最小公倍數(shù)/最大公約數(shù)計(jì)算工具:
http://tools.jb51.net/jisuanqi/gbs_gys_calc
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
- python求最大公約數(shù)和最小公倍數(shù)的簡單方法
- Python自定義函數(shù)實(shí)現(xiàn)求兩個(gè)數(shù)最大公約數(shù)、最小公倍數(shù)示例
- Python實(shí)現(xiàn)的求解最小公倍數(shù)算法示例
- Python實(shí)現(xiàn)利用最大公約數(shù)求三個(gè)正整數(shù)的最小公倍數(shù)示例
- Python基于遞歸算法求最小公倍數(shù)和最大公約數(shù)示例
- python輾轉(zhuǎn)相除法求最大公約數(shù)和最小公倍數(shù)的實(shí)現(xiàn)
- Python 代碼實(shí)現(xiàn)列表的最小公倍數(shù)
- 最小公倍數(shù)Python實(shí)現(xiàn)的方法例子
相關(guān)文章
Python通過四大 AutoEDA 工具包快速產(chǎn)出完美數(shù)據(jù)報(bào)告
在三年前,我們做數(shù)據(jù)競賽或者數(shù)據(jù)建模類的項(xiàng)目時(shí),前期我們會耗費(fèi)較多的時(shí)間去分析數(shù)據(jù),但現(xiàn)在非常多擅長數(shù)據(jù)分析的大師們已經(jīng)將我們平時(shí)??吹臄?shù)據(jù)方式進(jìn)行了集成,開發(fā)了很多AutoEDA的工具包??梢詭椭覀児?jié)省大量時(shí)間2021-11-11
Django一小時(shí)寫出賬號密碼管理系統(tǒng)
這篇文章主要介紹了Django一小時(shí)寫出賬號密碼管理系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
使用SQLAlchemy操作數(shù)據(jù)庫表過程解析
這篇文章主要介紹了使用SQLAlchemy操作數(shù)據(jù)庫表過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Windows安裝pycocotools的問題報(bào)錯(cuò)解決
最近使用pip install安裝pycocotools出現(xiàn)錯(cuò)誤,本文主要介紹了Windows安裝pycocotools的問題報(bào)錯(cuò)解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
python中time tzset()函數(shù)實(shí)例用法
在本篇文章里小編給大家整理的是一篇關(guān)于python中time tzset()函數(shù)實(shí)例用法內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-02-02
python flask基于cookie和session來實(shí)現(xiàn)會話控制的實(shí)戰(zhàn)代碼
所謂的會話(session),就是客戶端瀏覽器和服務(wù)端網(wǎng)站之間一次完整的交互過程,本文介紹falsk通過cookie和session來控制http會話的全部解析,通常我們可以用cookie和session來保持用戶登錄等,感興趣的朋友一起看看吧2024-03-03

