Hướng dẫn gcd python - con trăn gcd

Ở trường học và đại học, chúng ta đều đã học những kiến ​​thức cơ bản về toán học. Trong số tất cả các khái niệm phức tạp về lượng giác và số học, một khái niệm được sử dụng thường xuyên nhất trong lập trình là GCD hoặc Số chia chung lớn nhất. Tương tự như tất cả các ngôn ngữ lập trình, Python cũng hỗ trợ việc tạo mã có thể tìm thấy GCD của hai số do người dùng cung cấp và trong bài viết này, chúng ta sẽ tìm hiểu cách thực hiện điều đó. Hãy để chúng tôi xem cách triển khai GCD bằng Python,

GCD là chữ viết tắt của Greatest Common Divisor, là một phương trình toán học để tìm số lớn nhất có thể chia cả hai số mà người dùng đưa ra. Đôi khi phương trình này cũng được coi là nhân tử chung lớn nhất. Ví dụ: thừa số chung lớn nhất của các số 20 và 15 là 5, vì cả hai số này đều có thể chia hết cho 5. Khái niệm này cũng có thể dễ dàng được mở rộng cho một tập hợp nhiều hơn 2 số, trong đó GCD sẽ là số chia tất cả các số do người dùng cung cấp.

Khái niệm GCD có rất nhiều ứng dụng trong lý thuyết số, đặc biệt là ứng dụng của công nghệ mã hóa RSA cũng như số học mô-đun. Nó cũng đôi khi được sử dụng để đơn giản hóa các phân số có trong một phương trình.

Bây giờ bạn đã biết khái niệm cơ bản về GCD, hãy xem cách chúng ta có thể viết mã một chương trình bằng Python để thực thi chương trình tương tự.

GCD bằng Python

Để tính toán GCD bằng Python, chúng ta cần sử dụng hàm toán học có sẵn trong thư viện Python. Hãy cùng chúng tôi khám phá một vài ví dụ để hiểu rõ hơn về điều này.

Hãy để chúng tôi xem cách tìm GCD trong Python bằng cách sử dụng đệ quy

Hướng dẫn gcd python - con trăn gcd

GCD sử dụng đệ quy

12345678910 1112
2
3
4
5
6
7
8
9
10
11
12
# Python code to demonstrate naive # method to compute gcd ( recursion ) def hcfnaive(a,b): if(b==0): return a else: return # Python code to demonstrate naive 0# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive 4# Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 # Python code to demonstrate naive 9
# method to compute gcd ( recursion )
def hcfnaive(a,b):
if(b==0):
return a
else:
return # Python code to demonstrate naive 0
# Python code to demonstrate naive 1 # Python code to demonstrate naive 2
# Python code to demonstrate naive 3 # Python code to demonstrate naive 4
# Python code to demonstrate naive 5
# Python code to demonstrate naive 6 # Python code to demonstrate naive 7
# Python code to demonstrate naive 6 # Python code to demonstrate naive 9

Khi chương trình trên được chạy, đầu ra sẽ giống như thế này.

Gcd của 60 và 48 là: 12

Chúng tôi cũng có thể giới thiệu GCD bằng cách sử dụng các vòng lặp,

GCD sử dụng vòng lặp

1234567891011121314151617
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Python code to demonstrate naive # method to compute gcd ( recursion )
# method to compute gcd ( recursion )

def # method to compute gcd ( recursion ) 3# method to compute gcd ( recursion ) 4 # method to compute gcd ( recursion ) 5# method to compute gcd ( recursion ) 6 # method to compute gcd ( recursion ) 7# method to compute gcd ( recursion ) 8# method to compute gcd ( recursion ) 6 def0def1 def2 def3def4 def5 def6 def7 def5 def9hcfnaive(a,b):0 hcfnaive(a,b):1hcfnaive(a,b):2 hcfnaive(a,b):3# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive 4# Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 if(b==0):2
# method to compute gcd ( recursion ) 4 # method to compute gcd ( recursion ) 5
# method to compute gcd ( recursion ) 6 # method to compute gcd ( recursion ) 7
# method to compute gcd ( recursion ) 8
# method to compute gcd ( recursion ) 6 def0
def1 def2 def3
def4 def5 def6 def7 def5 def9
hcfnaive(a,b):0 hcfnaive(a,b):1
hcfnaive(a,b):2 hcfnaive(a,b):3
# Python code to demonstrate naive 1 # Python code to demonstrate naive 2
# Python code to demonstrate naive 3 # Python code to demonstrate naive 4
# Python code to demonstrate naive 5
# Python code to demonstrate naive 6 # Python code to demonstrate naive 7
# Python code to demonstrate naive 6 if(b==0):2

Khi chương trình trên được thực thi, kết quả đầu ra sẽ như thế này.

Gcd của 60 và 48 là: 12

Chúng tôi cũng có thể giới thiệu GCD bằng cách sử dụng các vòng lặp,

GCD sử dụng vòng lặp

1234567891011
2
3
4
5
6
7
8
9
10
11
def # method to compute gcd ( recursion ) 3# method to compute gcd ( recursion ) 4 # method to compute gcd ( recursion ) 5# method to compute gcd ( recursion ) 6 # method to compute gcd ( recursion ) 7# method to compute gcd ( recursion ) 8# method to compute gcd ( recursion ) 6 def0def1 def2 def3def4 def5 def6 def7 def5 def9hcfnaive(a,b):0 hcfnaive(a,b):1hcfnaive(a,b):2 hcfnaive(a,b):3# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive 4# Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 if(b==0):2
if(b==0):4
def # method to compute gcd ( recursion ) 3
if(b==0):7
if(b==0):8 if(b==0):9 # method to compute gcd ( recursion ) 7
hcfnaive(a,b):2 def0
# Python code to demonstrate naive 1 # Python code to demonstrate naive 2
# Python code to demonstrate naive 3 # Python code to demonstrate naive
# Python code to demonstrate naive 5
# Python code to demonstrate naive 6 # Python code to demonstrate naive 7
# Python code to demonstrate naive 6 a1

Khi chương trình trên được thực thi, kết quả đầu ra sẽ như thế này.

Gcd của 60 và 48 là: 12

Chúng tôi cũng có thể giới thiệu GCD bằng cách sử dụng các vòng lặp,

GCD sử dụng vòng lặp

def # method to compute gcd ( recursion ) 3# method to compute gcd ( recursion ) 4 # method to compute gcd ( recursion ) 5# method to compute gcd ( recursion ) 6 # method to compute gcd ( recursion ) 7# method to compute gcd ( recursion ) 8# method to compute gcd ( recursion ) 6 def0def1 def2 def3def4 def5 def6 def7 def5 def9hcfnaive(a,b):0 hcfnaive(a,b):1hcfnaive(a,b):2 hcfnaive(a,b):3# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive 4# Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 if(b==0):2

Khi chương trình trên được thực thi, kết quả đầu ra sẽ như thế này.

Hãy để chúng tôi xem phương pháp tiếp theo,

GCD sử dụng thuật toán Euclid

# Python code to demonstrate naive if(b==0):4def # method to compute gcd ( recursion ) 3 if(b==0):7 if(b==0):8 if(b==0):9 # method to compute gcd ( recursion ) 7hcfnaive(a,b):2 def0# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive # Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 a1

Đầu ra cho chương trình được đề cập ở trên sẽ là,

123456
2
3
4
5
6
Tiếp tục, dưới đây là phương pháp thứ tư để tìm GCD trong Python,
a3
a4 a5
a6
# Python code to demonstrate naive 6 a8
# Python code to demonstrate naive 6 else:0

GCD Sử dụng Hàm GCD Toán học

Gcd của 60 và 48 là: 12

Chúng tôi cũng có thể giới thiệu GCD bằng cách sử dụng các vòng lặp,

GCD sử dụng vòng lặp

  1. def # method to compute gcd ( recursion ) 3# method to compute gcd ( recursion ) 4 # method to compute gcd ( recursion ) 5# method to compute gcd ( recursion ) 6 # method to compute gcd ( recursion ) 7# method to compute gcd ( recursion ) 8# method to compute gcd ( recursion ) 6 def0def1 def2 def3def4 def5 def6 def7 def5 def9hcfnaive(a,b):0 hcfnaive(a,b):1hcfnaive(a,b):2 hcfnaive(a,b):3# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive 4# Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 if(b==0):2
  2. Khi chương trình trên được thực thi, kết quả đầu ra sẽ như thế này.

Hãy để chúng tôi xem phương pháp tiếp theo,

123456
2
3
4
5
6
GCD sử dụng thuật toán Euclid
else:2
a4 else:4
# Python code to demonstrate naive 5
# Python code to demonstrate naive 6 # Python code to demonstrate naive 7
# Python code to demonstrate naive 6 else:9

# Python code to demonstrate naive if(b==0):4def # method to compute gcd ( recursion ) 3 if(b==0):7 if(b==0):8 if(b==0):9 # method to compute gcd ( recursion ) 7hcfnaive(a,b):2 def0# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive # Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 a1

Gcd của 60 và 48 là: 12

Chúng tôi cũng có thể giới thiệu GCD bằng cách sử dụng các vòng lặp,

GCD sử dụng vòng lặp

  1. def # method to compute gcd ( recursion ) 3# method to compute gcd ( recursion ) 4 # method to compute gcd ( recursion ) 5# method to compute gcd ( recursion ) 6 # method to compute gcd ( recursion ) 7# method to compute gcd ( recursion ) 8# method to compute gcd ( recursion ) 6 def0def1 def2 def3def4 def5 def6 def7 def5 def9hcfnaive(a,b):0 hcfnaive(a,b):1hcfnaive(a,b):2 hcfnaive(a,b):3# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive 4# Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 if(b==0):2
  2. Khi chương trình trên được thực thi, kết quả đầu ra sẽ như thế này.

Hãy để chúng tôi xem phương pháp tiếp theo,

# Python code to demonstrate gcd() 
# method to compute gcd 
import math 
# prints 12 
print ("The gcd of 60 and 48 is : ",end="") 
print (math.gcd(60,48)) 

# Python code to demonstrate naive if(b==0):4def # method to compute gcd ( recursion ) 3 if(b==0):7 if(b==0):8 if(b==0):9 # method to compute gcd ( recursion ) 7hcfnaive(a,b):2 def0# Python code to demonstrate naive 1 # Python code to demonstrate naive 2# Python code to demonstrate naive 3 # Python code to demonstrate naive # Python code to demonstrate naive 5# Python code to demonstrate naive 6 # Python code to demonstrate naive 7# Python code to demonstrate naive 6 a1

Đầu ra cho chương trình được đề cập ở trên sẽ là,

Tiếp tục, dưới đây là phương pháp thứ tư để tìm GCD trong Python,

GCD Sử dụng Hàm GCD Toán học

Trước khi chúng ta có thể sử dụng hàm math.gcd () để tính toán GCD của các số trong Python, chúng ta hãy xem xét các tham số khác nhau của nó.

  Tệp “/home/94493cdfb3c8509146254862d12bcc97.py”, dòng 12, in

print (math.gcd (‘a’, 13))

TypeError: Đối tượng ‘str’ không thể được hiểu là một số nguyên

Vì vậy, điều này sẽ đưa chúng ta đến phần cuối của bài viết này về GCD trong Python.

Khóa học PYTHON (IPD2020) cho người mới bắt đầu