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文件與目錄操作技巧匯總》
希望本文所述對(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í)現(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中三個(gè)圖像增強(qiáng)庫(kù)的使用
這篇文章主要帶大家了解一下Python中三個(gè)圖像增強(qiáng)庫(kù)的使用:Imgaug、Albumentations和SOLT,文中通過示例進(jìn)行了詳細(xì)介紹,需要的可以參考一下2022-05-05python如何通過閉包實(shí)現(xiàn)計(jì)算器的功能
這篇文章主要介紹了python如何通過閉包實(shí)現(xiàn)計(jì)算器的功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Python爬取豆瓣數(shù)據(jù)實(shí)現(xiàn)過程解析
這篇文章主要介紹了Python爬取豆瓣數(shù)據(jù)實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10使用Python的Dataframe取兩列時(shí)間值相差一年的所有行方法
今天小編就為大家分享一篇使用Python的Dataframe取兩列時(shí)間值相差一年的所有行方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07pandas中DataFrame新增行及global變量的使用方式
這篇文章主要介紹了pandas中DataFrame新增行及global變量的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從任意長(zhǎng)度的可迭代對(duì)象中分解元素操作示例
這篇文章主要介紹了Python 數(shù)據(jù)結(jié)構(gòu)與算法 從任意長(zhǎng)度的可迭代象中分解元素操作,結(jié)合實(shí)例形式分析了Python使用*表達(dá)式針對(duì)可迭代對(duì)象的分解操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-02-02Python實(shí)現(xiàn)文本特征提取的方法詳解
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)提取四種不同文本特征的方法,有字典文本特征提取、英文文本特征提取、中文文本特征提取和TF-IDF 文本特征提取,感興趣的可以了解一下2022-08-08