Rất đơn giản. Viết một hàm, tính toán GCD/LCM của hai số. Sau đó làm một cái gì đó như thế này.
Write a function, that calculates gcd/lcm of two numbers.
Then do something like this.
gcd[a,b,c] = gcd[a, gcd[b,c]]
>>> def gcd[a,b]:
... if b == 0:
... return a
... else:
... return gcd[b, a%b]
...
>>> gcd[3,5]
1
>>> gcd[10,5]
5
>>> gcd[10,15]
5
>>> gcd[5,gcd[10,15]]
5
Bạn có thể thử một mình, cho LCM.
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
GCD của ba hoặc nhiều số tương đương với sản phẩm của các yếu tố chính chung cho tất cả các số, nhưng nó cũng có thể được tính bằng cách liên tục lấy GCD của các cặp số.
gcd[a, b, c] = gcd[a, gcd[b, c]] = gcd[gcd[a, b], c] = gcd[gcd[a, c], b]
Làm thế nào để bạn tính toán GCD trong Python?
while
gcd[a, b, c] = gcd[a, gcd[b, c]] = gcd[gcd[a, b], c] = gcd[gcd[a, c], b]0
Hàm gcd [] Tính toán ước số chung lớn nhất của 2 số được đề cập trong các đối số của nó ..
Cú pháp: Math.gcd [x, y].
X: Số nguyên không âm có GCD phải được tính toán ..
# Python program to find H.C.F of two numbers
# define a function
def compute_hcf[x, y]:
# choose the smaller number
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 = 54
num2 = 24
print["The H.C.F. is", compute_hcf[num1, num2]]
3gcd[a, b, c] = gcd[a, gcd[b, c]] = gcd[gcd[a, b], c] = gcd[gcd[a, c], b]3
# Python program to find H.C.F of two numbers
# define a function
def compute_hcf[x, y]:
# choose the smaller number
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 = 54
num2 = 24
print["The H.C.F. is", compute_hcf[num1, num2]]
5# Python program to find H.C.F of two numbers
# define a function
def compute_hcf[x, y]:
# choose the smaller number
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 = 54
num2 = 24
print["The H.C.F. is", compute_hcf[num1, num2]]
6# Python program to find H.C.F of two numbers
# define a function
def compute_hcf[x, y]:
# choose the smaller number
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 = 54
num2 = 24
print["The H.C.F. is", compute_hcf[num1, num2]]
2# Python program to find H.C.F of two numbers
# define a function
def compute_hcf[x, y]:
# choose the smaller number
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 = 54
num2 = 24
print["The H.C.F. is", compute_hcf[num1, num2]]
8gcd[a, b, c] = gcd[a, gcd[b, c]] = gcd[gcd[a, b], c] = gcd[gcd[a, c], b]3
# Python program to find H.C.F of two numbers
# define a function
def compute_hcf[x, y]:
# choose the smaller number
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 = 54
num2 = 24
print["The H.C.F. is", compute_hcf[num1, num2]]
5The H.C.F. is 61
# Python program to find H.C.F of two numbers
# define a function
def compute_hcf[x, y]:
# choose the smaller number
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 = 54
num2 = 24
print["The H.C.F. is", compute_hcf[num1, num2]]
2The H.C.F. is 63
gcd[a, b, c] = gcd[a, gcd[b, c]] = gcd[gcd[a, b], c] = gcd[gcd[a, c], b]3
The H.C.F. is 65
Y: Số nguyên không âm có GCD phải được tính toán ..
The H.C.F. is 63
gcd[a, b, c] = gcd[a, gcd[b, c]] = gcd[gcd[a, b], c] = gcd[gcd[a, c], b]3
# Function to find HCF the Using Euclidian algorithm
def compute_hcf[x, y]:
while[y]:
x, y = y, x % y
return x
hcf = compute_hcf[300, 400]
print["The HCF is", hcf]
8# Function to find HCF the Using Euclidian algorithm
def compute_hcf[x, y]:
while[y]:
x, y = y, x % y
return x
hcf = compute_hcf[300, 400]
print["The HCF is", hcf]
9def
0Output:
2
Xem thảo luận
Trong ví dụ này, bạn sẽ học cách tìm GCD của hai số bằng hai phương pháp khác nhau: hàm và vòng lặp và, thuật toán Euclidean
Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình Python sau:
- Chức năng Python
- Đệ quy Python
- Đối số chức năng Python
Yếu tố chung cao nhất [H.C.F] hoặc ước số chung lớn nhất [G.C.D] của hai số là số nguyên dương lớn nhất phân chia hoàn hảo hai số đã cho. Ví dụ, H.C.F của 12 và 14 là 2.
Mã nguồn: Sử dụng các vòng lặp
# Python program to find H.C.F of two numbers
# define a function
def compute_hcf[x, y]:
# choose the smaller number
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 = 54
num2 = 24
print["The H.C.F. is", compute_hcf[num1, num2]]
Đầu ra
The H.C.F. is 6
Ở đây, hai số nguyên được lưu trữ trong các biến NUM1 và NUM2 được truyền đến hàm def
1. Hàm tính toán H.C.F. Hai số này và trả lại nó.
Trong hàm, trước tiên chúng tôi xác định số nhỏ hơn của hai số vì H.C.F chỉ có thể nhỏ hơn hoặc bằng số nhỏ nhất. Sau đó, chúng tôi sử dụng một vòng
The H.C.F. is 66 để đi từ 1 đến số đó.
Trong mỗi lần lặp, chúng tôi kiểm tra xem số của chúng tôi có phân chia hoàn hảo cả hai số đầu vào không. Nếu vậy, chúng tôi lưu trữ số dưới dạng H.C.F. Khi hoàn thành vòng lặp, chúng tôi kết thúc với con số lớn nhất phân chia hoàn hảo cả hai số.
Phương pháp trên rất dễ hiểu và thực hiện nhưng không hiệu quả. Một phương pháp hiệu quả hơn nhiều để tìm H.C.F. là thuật toán Euclide.
Thuật toán Euclide
Thuật toán này dựa trên thực tế là H.C.F. của hai con số phân chia sự khác biệt của chúng là tốt.
Trong thuật toán này, chúng tôi chia lớn hơn cho nhỏ hơn và lấy phần còn lại. Bây giờ, chia nhỏ hơn cho phần còn lại này. Lặp lại cho đến khi phần còn lại là 0.
Ví dụ: nếu chúng ta muốn tìm H.C.F. của 54 và 24, chúng tôi chia 54 cho 24. Phần còn lại là 6. Bây giờ, chúng tôi chia 24 cho 6 và phần còn lại là 0. Do đó, 6 là h.c.f.
Mã nguồn: Sử dụng thuật toán Euclide
# Function to find HCF the Using Euclidian algorithm
def compute_hcf[x, y]:
while[y]:
x, y = y, x % y
return x
hcf = compute_hcf[300, 400]
print["The HCF is", hcf]
Ở đây chúng tôi lặp cho đến khi y trở thành không. Tuyên bố def
3 thực hiện hoán đổi các giá trị trong Python. Nhấn vào đây để tìm hiểu thêm về việc hoán đổi các biến trong Python.
Trong mỗi lần lặp, chúng tôi đặt giá trị của y trong x và phần còn lại def
4 trong y, đồng thời. Khi y trở thành 0, chúng ta có H.C.F. trong x.