Python có chức năng gcd không?

Ước chung lớn nhất (GCD) là một thuật ngữ toán học để tìm thừa số chung lớn nhất có thể chia hai số một cách hoàn hảo. GCD còn được gọi là Yếu tố chung cao nhất (HCF). Ví dụ HCF/GCD của 2 số 54 và 24 là 6. Vì 6 là ước chung lớn nhất chia hết 54 và 24

Python có chức năng gcd không?

GCD Sử dụng chức năng gcd()

Trong python, gcd() là một hàm sẵn có được cung cấp bởi mô-đun toán học để tìm ước chung lớn nhất của hai số

cú pháp

Trong đó a và b là hai số nguyên được truyền làm đối số cho hàm gcd()

Hãy tạo một chương trình để in GCD của hai số bằng hàm toán học có sẵn. gcd() trong trăn

toán_vui. py

đầu ra

Python có chức năng gcd không?

Trong ví dụ trên, phép toán. hàm gcd() tạo GCD của hai số đã cho. Trong hàm gcd(), a và b chuyển thành đối số trả về ước chung lớn nhất của hai số nguyên, chia hết các số

GCD Sử dụng đệ quy

Đệ quy là một hàm tiêu thụ bộ nhớ được xác định trong python, gọi chính nó thông qua biểu thức tự tham chiếu. Có nghĩa là hàm sẽ liên tục gọi và lặp lại cho đến khi thỏa mãn điều kiện xác định để trả về ước chung lớn nhất của một số

Mã giả của thuật toán

Bước 1. Lấy hai đầu vào, x và y, từ người dùng

Bước 2. Truyền số đầu vào làm đối số cho hàm đệ quy

Bước 3. Nếu số thứ hai bằng không (0), nó sẽ trả về số đầu tiên

Bước 4. Mặt khác, nó gọi đệ quy hàm với số thứ hai làm đối số cho đến khi nó nhận được phần còn lại, số này chia số thứ hai cho số thứ nhất

Bước 5. Gọi hoặc gán gcd_fun() cho một biến

Bước 6. Hiển thị GCD của hai số

Bước 7. Thoát khỏi chương trình

Tìm hiểu chương trình tìm ƯCLN của hai số bằng đệ quy

gcdRecur. py

đầu ra

Python có chức năng gcd không?

GCD Sử dụng Vòng lặp

Hãy tạo chương trình tìm GCD của hai số trong python bằng vòng lặp

gcdFile. py

đầu ra

Python có chức năng gcd không?

Như chúng ta có thể thấy trong chương trình trên, chúng ta lấy hai giá trị làm đầu vào và chuyển các số này cho hàm GCD_Loop() để trả về một GCD

GCD Sử dụng thuật toán Euclid hoặc Thuật toán Euclide

Thuật toán Euclid là một phương pháp hiệu quả để tìm ước chung lớn nhất của hai số. Đây là thuật toán lâu đời nhất chia số lớn hơn thành các số nhỏ hơn và lấy phần còn lại. Một lần nữa, nó chia số nhỏ hơn từ phần còn lại và thuật toán này liên tục chia số cho đến khi phần còn lại trở thành 0

Ví dụ, giả sử chúng ta muốn tính H. C. F của hai số, 60 và 48. Sau đó, chúng tôi chia 60 cho 48; . Bây giờ chúng ta lại chia số 24 cho 12 và sau đó nó trả về phần còn lại là 0. Vì vậy, theo cách này, chúng tôi nhận được H. C. f là 12

Ở trường học và đại học, tất 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 Ước 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ợ 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 cho chúng tôi xem cách triển khai GCD bằng Python,

Vì vậy, chúng ta hãy bắt đầu,

GCD là gì?

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 hết cho cả hai số do người dùng đưa ra. Đôi khi phương trình này còn được gọi là ước chung lớn nhất. Ví dụ: ước chung lớn nhất của hai số 20 và 15 là 5 vì cả hai số này đều chia hết cho 5. Khái niệm này cũng có thể dễ dàng được mở rộng thành một bộ gồm 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 về GCD có nhiều ứng dụng trong lý thuyết số, đặc biệt là công nghệ mã hóa RSA cũng như số học mô-đun. Đôi khi nó cũng đượ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ã chương trình bằng Python để thực thi tương tự

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

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

GCD sử dụng đệ quy

# Python code to demonstrate naive 
# method to compute gcd ( recursion ) 
def hcfnaive(a,b): 
	if(b==0): 
		return a 
	else: 
		return hcfnaive(b,a%b) 
a = 60
b= 48
# prints 12 
print ("The gcd of 60 and 48 is : ",end="") 
print (hcfnaive(60,48)) 

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 ta cũng có thể tạo GCD bằng các vòng lặp,

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

# Python code to demonstrate naive 
# method to compute gcd ( Loops ) 

def computeGCD(x, y): 
	if x > y: 
		small = y 
	else: 
		small = x 
	for i in range(1, small+1): 
		if((x % i == 0) and (y % i == 0)): 
			gcd = i 	
	return gcd 
a = 60
b= 48
# prints 12 
print ("The gcd of 60 and 48 is : ",end="") 
print (computeGCD(60,48)) 

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

gcd của 60 và 48 là. 12

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

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

# Python code to demonstrate naive 
# method to compute gcd ( Euclidean algo ) 
def computeGCD(x, y): 
   while(y): 
       x, y = y, x % y 
   return x 
a = 60
b= 48  
# prints 12 
print ("The gcd of 60 and 48 is : ",end="") 
print (computeGCD(60,48))

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

gcd của 60 và 48 là. 12

Tiếp tục, bên dưới 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 toán học. gcd() để tính toán GCD của các số trong Python, chúng ta hãy xem các tham số khác nhau của nó

Syntax: math.gcd( x,y)

Thông số

X. là số nguyên không âm có gcd cần tính

Y. là số nguyên không âm thứ hai cần tính gcd

Giá trị trả về. Tham số này sẽ trả về một giá trị trả về dương tuyệt đối sau khi nó đã tính toán GCD của cả hai số do người dùng nhập vào

ngoại lệ. Nếu trong một tình huống nhất định, cả hai số do người dùng nhập vào đều bằng 0, thì hàm sẽ trả về số không;

Hãy cho chúng tôi xem mã mẫu,

# 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))

Đầu ra của chương trình trên sẽ là,

gcd của 60 và 48 là. 12

Ngoại lệ phổ biến

Dưới đây là các ngoại lệ phổ biến nhất khi sử dụng chức năng này

  1. Nếu một trong hai số do người dùng nhập vào là số không, thì hàm sẽ trả về số không
  2. Nếu một trong hai đầu vào là một ký tự, thì hàm sẽ trả về lỗi loại

Để hiểu điều này tốt hơn, hãy xem ví dụ dưới đây

# 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)) 

Đầu ra cho chương trình trên sẽ là,

Gcd của 0 và 0 là. 0

gcd của a và 13 là

Khi chạy chương trình trên cũng sẽ trả về lỗi thời gian chạy, nó sẽ giống như thế này

Traceback (cuộc gọi gần đây nhất cuối cùng)

Tập tin “/home/94493cdfb3c8509146254862d12bcc97. py”, dòng 12, trong

in (toán. gcd(‘a’,13))

LoạiLỗi. Đối tượng 'str' không thể được hiểu là một số nguyên

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

Để có kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể đăng ký ngay khóa đào tạo trực tuyến về Python tốt nhất với sự hỗ trợ 24/7 và quyền truy cập trọn đời. Có một câu hỏi cho chúng tôi?