python最大公約數計算
㈠ python編一個函數,輸入兩個正整數,求出他們最大的公約數
# 輾轉相除法求最大公約數
def gcd(a, b):
if a < b:
a, b = b, a
while a % b != 0:
a, b = b, a % b
return b
gcd(21,49)
程序縮進如圖所示
㈡ python編寫一個函數,功能是求兩個正整數m和n的最大公約數
# 定義一個函數
def hcf(x, y):
"""該函數返回兩個數的最大公約數"""
# 獲取最小值
if x > y:
smaller = y
else:
smaller = x
for i in range(1,smaller + 1):
if((x % i == 0) and (y % i == 0)):
hcf = i
return hcf
# 用戶輸入兩個數字
num1 = int(input("輸入第一個數字: "))
num2 = int(input("輸入第二個數字: "))
print( num1,"和", num2,"的最大公約數為", hcf(num1, num2))
㈢ python編寫求最大公約數的函數
# 定義一個函數
def gcd(x, y):
"""該函數返回兩個數的最大公約數"""
# 獲取最小值
if x > y:
smaller = y
else:
smaller = x
for i in range(1,smaller + 1):
if((x % i == 0) and (y % i == 0)):
hcf = i
return gcd
# 用戶輸入兩個數字
num1 = int(input("輸入第一個數字: "))
num2 = int(input("輸入第二個數字: "))
print( num1,"和", num2,"的最大公約數為", gcd(num1, num2))
㈣ python求三個數的最大公約數
先求兩個數的最大公約數,再求這個公約數與另一個數的最大公約數,就是結果。
㈤ python求最大公約數
提到最大公約數,那麼就不得不說什麼是公約數,它是一個能被若干個整數同時均整除的整數。如果一個整數同時是幾個整數的約數,稱這個整數為它們的「公約數」;公約數中最大的稱為最大公約數。對任意的若干個正整數,1總是它們的公因數。
舉個例子:30和40的公約數有:1,2,5,10,那麼10是這幾個裡面最大的,就是30和40的最大公約數。
python求最大公約數
1.python求最大公約數設計思路
給定兩個數,從1開始嘗試,步長為1逐漸遞增,為了優化演算法,只需要循環到兩個數中最小的那個數就可以。所以,第一步就是計算出兩個數中最小的數,然後利用for循環從1到最小的那個數進行枚舉,如果該數能夠同時被兩個數整除,則記錄下來,直到循環結束,最後,最大的這個就是最大公約數。
特別注意:這里會用到range函數,range(0,5)的結果為0,1,2,3,4注意是沒有5的,因此在本例中循環時應該是從1到最小的那個數+1才對。
2.最大公約數的python實現
打開網路APP,查看更多高清圖片
說明:在上面的代碼中,我們會用到自定義函數的定義方法:def ,兩個數的最小數的判斷方法,for循環和枚舉取值,整除取余,輸入輸出等內置函數。
㈥ Python任意輸入兩個數,求兩個數的最大公約數(最大公約數條件是公約數
# 定義一個函數
def hcf(x, y):
"""該函數返回兩個數的最大公約數"""
# 獲取最小值
if x > y:
smaller = y
else:
smaller = x
for i in range(1,smaller + 1):
if((x % i == 0) and (y % i == 0)):
hcf = i
return hcf
# 用戶輸入兩個數字
num1 = int(input("輸入第一個數字: "))
num2 = int(input("輸入第二個數字: "))
print( num1,"和", num2,"的最大公約數為", hcf(num1, num2))
㈦ python怎麼求最大公因數
用輾轉相除法求最大公約數的演算法如下:
兩個正整數a和b(a>b),它們的最大公約數等於a除以b的余數c和b之間的最大公約數。比如10和25,25除以10商2餘5,那麼10和25的最大公約數,等同於10和5的最大公約數。
㈧ python編寫2個函數代碼,實現求最小公倍數和最大公約數的功能
函數定義:
Common_multiple(number1, number2): # 求兩個數的最小公倍數
Maximum_common_divisor(*number): # 求任意多個數的最小公倍數
Minimum_common_multiple(*number): # 求任意多個數的最大公因數
程序縮進如下:
運行結果
函數具體代碼:縮進版本點擊自取
def Common_multiple(number1, number2): # 求兩個數的最小公倍數
while number1 % number2 != 0:
number1, number2 = number2, (number1 % number2)
return number2
def Maximum_common_divisor(*number): # 求任意多個數的最小公倍數
while len(number) > 1:
number = [Common_multiple(number[i], number[i+1]) for i in range(0, len(number)-1)]
return number[0]
def Minimum_common_multiple(*number): # 求任意多個數的最大公因數
while len(number) > 1:
number = [number[i]*number[i+1]/Common_multiple(number[i], number[i+1]) for i in range(0, len(number)-1)]
return number[0]
㈨ 用python語言求兩個數的最大公約數和最小公倍數
答:可使用輾轉相除法來求最大公約數和最小公倍數,總結一句話就是除數變被除數,余數變除數,當余數為零時取對應算式的除數為最大公約數。這是實現思路,對於具體的Python代碼如下所示。
㈩ Python 求2~4個數的最大公約數
#窮舉法求最大公約數
defSort_xyz(x,y,z,):
l=[x,y,z]
l.sort()
returnl
defGcd(x,y,z):
x,y,z=Sort_xyz(x,y,z)
foriinrange(1,z+1):
ifx%i==0andy%i==0andz%i==0:
gcd=i
returngcd
print(Gcd(135,55,160))