最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python輾轉(zhuǎn)相除法求最大公約數(shù)和最小公倍數(shù)的實現(xiàn)

 更新時間:2022年07月16日 09:01:48   作者:阿松丶  
這篇文章主要介紹了python輾轉(zhuǎn)相除法求最大公約數(shù)和最小公倍數(shù)的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

輾轉(zhuǎn)相除法求最大公約數(shù)和最小公倍數(shù)

輾轉(zhuǎn)相除法數(shù)學原理

輾轉(zhuǎn)相除法也稱歐幾里得算法,是用來求兩個正整數(shù)的最大公約數(shù)的算法。接下來我們用實例來解釋一下。假如我們需要求12和21的最大公約數(shù),用輾轉(zhuǎn)相除法是這樣實現(xiàn)的:

21 / 12 = 1 (余 9)
12 / 9 = 1(余 3)
9 / 3 = 3 (余 0)

至此,得到21與12的最大公約數(shù)為3(注意:這里的3是第二個式子取余得到的3,而非最后一個式子相除得到的),然后把兩個數(shù)相乘再除以最大公約數(shù)就可以得到最小公倍數(shù):(21*12)/ 3 = 84

python代碼實現(xiàn)

接下來我們用python代碼來實現(xiàn)這樣一道題目:

題目:輸入兩個正整數(shù),求其最大公約數(shù)和最小公倍數(shù)。

def func(m,n):
? ? a = m
? ? b = n
? ? # 默認m>n,若不是,則交換
? ? if m < n:
? ? ? ? m,n = n,m
? ? while n != 0:
? ? ? ? # 對m除n取余
? ? ? ? r = m % n
? ? ? ? m = n
? ? ? ? n = r
? ? return m,(a*b)/m

print("正整數(shù)m與n的最大公約數(shù)與最小公倍數(shù)分別為:",func(12,21))

正整數(shù)m與n的最大公約數(shù)與最小公倍數(shù)分別為: (3, 84.0)

用遞歸的方式實現(xiàn)

def rec(m,n):
? ? # 默認m>n,若不是,則交換
? ? if m < n:
? ? ? ? m,n = n,m
? ? # 終止條件 ? ?
? ? if n == 0:
? ? ? ? return m,(a*b)/m
? ? # 遞歸部分
? ? return rec(n,m%n)

a = 12
b = 21

print("正整數(shù)m與n的最大公約數(shù)與最小公倍數(shù)分別為:",rec(12,21))

正整數(shù)m與n的最大公約數(shù)與最小公倍數(shù)分別為: (3, 84.0)

Python3 20.輾轉(zhuǎn)相除法

算法分析

1.算法定義為:在有限的步驟內(nèi)解決數(shù)學問題的程序,即為了解決某項工作或某個問題,所需要有限數(shù)量的機械性或重復性指令與計算步驟。

2.最大公約數(shù):可整除兩個整數(shù)的最大整數(shù)。

3.用兩個數(shù)中較大的整數(shù)除以較小的數(shù),求得商和余數(shù)。

源代碼

# coding:gbk
Num_1 = int(input("請輸入一個整數(shù): "))
Num_2 = int(input("請輸入一個整數(shù): "))

if Num_1 < Num_2:
	Tmp_Num = Num_1       # 是交換而不是賦值
	Num_1 = Num_2
	Num_2 = Tmp_Num

while Num_2 != 0:
	Tmp_Num = Num_1 % Num_2
	Num_1 = Num_2
	Num_2 = Tmp_Num

print('輸出這兩個整數(shù)的最大公約數(shù):', Num_1)

結(jié)果截圖


以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python讀取Android permission文件

    python讀取Android permission文件

    python解析json文件讀取Android permission,同時可以學習到j(luò)son的知識。
    2013-11-11
  • Python判斷for循環(huán)最后一次的6種方法

    Python判斷for循環(huán)最后一次的6種方法

    在Python中,通常我們不會直接判斷for循環(huán)是否正在執(zhí)行最后一次迭代,因為Python的for循環(huán)是基于可迭代對象的,它不知道也不關(guān)心迭代的內(nèi)部狀態(tài)(比如當前是第幾次迭代),但是,我們可以使用一些技巧來間接地實現(xiàn)這個需求,需要的朋友可以參考下
    2025-01-01
  • Python爬蟲實現(xiàn)vip電影下載的示例代碼

    Python爬蟲實現(xiàn)vip電影下載的示例代碼

    這篇文章主要介紹了Python爬蟲實現(xiàn)vip電影下載的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • 使用Python實現(xiàn)PDF頁面設(shè)置操作

    使用Python實現(xiàn)PDF頁面設(shè)置操作

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)PDF頁面設(shè)置操作,例如旋轉(zhuǎn)頁面和調(diào)整頁面順序,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04
  • Python GUI學習之登錄系統(tǒng)界面篇

    Python GUI學習之登錄系統(tǒng)界面篇

    這篇文章主要介紹了Python GUI學習之登錄系統(tǒng)界面篇,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python解析Excle文件中的數(shù)據(jù)方法

    Python解析Excle文件中的數(shù)據(jù)方法

    今天小編就為大家分享一篇Python解析Excle文件中的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • pandas 缺失值與空值處理的實現(xiàn)方法

    pandas 缺失值與空值處理的實現(xiàn)方法

    這篇文章主要介紹了pandas 缺失值與空值處理的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • python使用xlrd和xlwt讀寫Excel文件的實例代碼

    python使用xlrd和xlwt讀寫Excel文件的實例代碼

    這篇文章主要介紹了python使用xlrd和xlwt讀寫Excel文件的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Python 腳本的三種執(zhí)行方式小結(jié)

    Python 腳本的三種執(zhí)行方式小結(jié)

    今天小編就為大家分享一篇Python 腳本的三種執(zhí)行方式小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python scrapy爬取蘇州二手房交易數(shù)據(jù)

    Python scrapy爬取蘇州二手房交易數(shù)據(jù)

    scrapy的第二個實例對比上一個,在數(shù)據(jù)處理上增加了新的需求,運用了管道文件pipelines.py,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06

最新評論

阿拉尔市| 南木林县| 河北省| 通辽市| 松滋市| 通州区| 常州市| 芜湖市| 勃利县| 尚志市| 保定市| 乌鲁木齐市| 大理市| 江北区| 芜湖市| 台中市| 广汉市| 夏邑县| 芮城县| 寿阳县| 遵义市| 枝江市| 乌审旗| 惠来县| 左贡县| 莲花县| 玉门市| 阳春市| 三门峡市| 杭锦旗| 河池市| 玉田县| 中方县| 天镇县| 确山县| 西青区| 平阴县| 通江县| 灵寿县| 利辛县| 新乡县|