Python求兩個(gè)數(shù)的最大公約數(shù)
一、求最大公約數(shù)算法:
1. 整數(shù)A對(duì)整數(shù)B進(jìn)行取整, 余數(shù)用整數(shù)C來表示 舉例: C = A % B
2. 如果C等于0,則C就是整數(shù)A和整數(shù)B的最大公約數(shù)
3. 如果C不等于0, 將B賦值給A, 將C賦值給B ,然后進(jìn)行 1, 2 兩步,直到余數(shù)為0, 則可以得知最大公約數(shù)
二、根據(jù)算法,實(shí)現(xiàn)Python程序
def fun(num1, num2): # 定義一個(gè)函數(shù), 兩個(gè)形參 if num1 < num2: # 判讀兩個(gè)整數(shù)的大小,目的為了將大的數(shù)作為除數(shù),小的作為被除數(shù) num1, num2 = num2, num1 # 如果if條件滿足,則進(jìn)行值的交換 vari1 = num1 * num2 # 計(jì)算出兩個(gè)整數(shù)的乘積,方便后面計(jì)算最小公倍數(shù) vari2 = num1 % num2 # 對(duì)2個(gè)整數(shù)進(jìn)行取余數(shù) while vari2 != 0: # 判斷余數(shù)是否為0, 如果不為0,則進(jìn)入循環(huán) num1 = num2 # 重新進(jìn)行賦值,進(jìn)行下次計(jì)算 num2 = vari2 vari2 = num1 % num2 # 對(duì)重新賦值后的兩個(gè)整數(shù)取余數(shù) # 直到 vari2 等于0,得到最到公約數(shù)就退出循環(huán) vari1 /= num2 # 得出最小公倍數(shù) print("最大公約數(shù)為:%d" % num2) # 輸出 print("最小公倍數(shù)為:%d" % vari1) # 輸出 fun(6, 9)
程序輸出結(jié)果:
最大公約數(shù)為:3 最小公倍數(shù)為:18
推薦:Python教程
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com