파이썬에서 GCD를 구현하는 방법?



이 기사에서는 Python에서 GCD를 찾는 다양한 방법을 소개하고 자세한 프로그래밍 데모를 소개합니다.

학교와 대학에서 우리는 모두 수학의 기초를 배웠습니다. 삼각법과 산술의 모든 복잡한 개념 중에서 프로그래밍에서 가장 자주 사용되는 개념 중 하나는 GCD 또는 최대 공약수의 개념입니다. 모든 프로그래밍 언어와 마찬가지로 또한 사용자가 제공 한 두 숫자의 GCD를 찾을 수있는 코드 생성을 지원하며이 기사에서는이를 수행하는 방법을 배웁니다. Python에서 GCD를 구현하는 방법을 살펴 보겠습니다.

이제 시작하겠습니다.





GCD 란 무엇입니까?

GCD는 최대 공약수 (Greatest Common Divisor)의 약어로, 사용자가 제공 한 두 수를 나눌 수있는 가장 큰 수를 찾기위한 수학 방정식입니다. 때때로이 방정식은 최대 공약수라고도합니다. 예를 들어, 숫자 20과 15에 대한 가장 큰 공약수는 5입니다. 두 숫자를 5로 나눌 수 있기 때문입니다.이 개념은 GCD가 숫자가되는 2 개 이상의 숫자 세트로 쉽게 확장 될 수 있습니다. 사용자가 제공 한 모든 숫자를 나눕니다.

GCD의 개념은 수 이론, 특히 RSA 및 모듈 식 산술 인 암호화 기술의 광범위한 응용 분야를 가지고 있습니다. 또한 방정식에있는 분수를 단순화하는데도 사용됩니다.



C ++ stl 정렬

이제 GCD의 기본 개념을 알았으니 Python으로 프로그램을 코딩하여 동일한 작업을 수행하는 방법을 살펴 보겠습니다.

Python에서 GCD

Python에서 GCD를 계산하려면 Python 라이브러리에 내장 된 수학 함수를 사용해야합니다. 이를 더 잘 이해하기 위해 몇 가지 예를 살펴 보겠습니다.

재귀를 사용하여 Python에서 GCD를 찾는 방법을 살펴 보겠습니다.



재귀를 사용하는 GCD

# 순진함을 보여주는 파이썬 코드 # gcd를 계산하는 방법 (recursion) def hcfnaive (a, b) : if (b == 0) : return a else : return hcfnaive (b, a % b) a = 60 b = 48 # 12 prints print ( 'The gcd of 60 and 48 is :', end = '') print (hcfnaive (60,48))

위의 프로그램이 실행되면 출력은 다음과 같습니다.

60과 48의 gcd는 12입니다.

루프를 사용하여 GCD를 만들 수도 있습니다.

루프를 사용하는 GCD

# 순진함을 보여주는 파이썬 코드 # 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 # 12 print 인쇄 ('60과 48의 gcd는 : ', end =' ') 인쇄 (computeGCD (60,48))

위의 프로그램이 실행되면 다음과 같이 출력됩니다.

60과 48의 gcd는 12입니다.

다음 방법을 보겠습니다.

유클리드 알고리즘을 사용한 GCD

# 순진함을 보여주는 파이썬 코드 # gcd를 계산하는 방법 (Euclidean algo) def computeGCD (x, y) : while (y) : x, y = y, x % y return xa = 60 b = 48 # prints 12 print ( ' 60과 48의 gcd는 : ', end =' ') print (computeGCD (60,48))

위에서 언급 한 프로그램의 출력은 다음과 같습니다.

60과 48의 gcd는 12입니다.

다음은 Python에서 GCD를 찾는 네 번째 방법입니다.

수학 GCD 함수를 사용하는 GCD

Python에서 숫자의 GCD를 계산하기 위해 math.gcd () 함수를 사용하기 전에 다양한 매개 변수를 살펴 보겠습니다.

구문 : math.gcd (x, y)

매개 변수

X : gcd를 계산해야하는 음이 아닌 정수입니다.

Y : gcd를 계산해야하는 음수가 아닌 두 번째 정수입니다.

반환 값 :이 매개 변수는 사용자가 입력 한 두 숫자의 GCD를 계산 한 후 절대 양수 반환 값을 반환합니다.

예외 : 특정 상황에서 사용자가 입력 한 숫자가 모두 0이면 함수는 0을 반환하고 입력이 문자이면 함수는 오류를 반환합니다.

정렬 목록 C ++

샘플 코드를 보겠습니다.

# gcd ()를 보여주는 파이썬 코드 # gcd를 계산하는 방법 import math # 출력 12 print ( 'The gcd of 60 and 48 is :', end = '') print (math.gcd (60,48))

위 프로그램의 출력은 다음과 같습니다.

60과 48의 gcd는 12입니다.

일반적인 예외

이 기능을 사용하는 가장 일반적인 예외는 다음과 같습니다.

  1. 사용자가 입력 한 숫자 중 하나가 0이면 함수는 0을 반환합니다.
  2. 입력 중 하나가 문자이면 함수는 유형 오류를 반환합니다.

이를 더 잘 이해하려면 아래 예제를 살펴보십시오.

# gcd ()를 보여주는 파이썬 코드 # gcd를 계산하는 방법 import math # 출력 12 print ( 'The gcd of 60 and 48 is :', end = '') print (math.gcd (60,48))

위 프로그램의 출력은 다음과 같습니다.

0과 0의 gcd는 0입니다.

a와 13의 gcd는 다음과 같습니다.

위의 프로그램을 실행하면 다음과 같은 런타임 오류도 반환됩니다.

C ++의 추상화

역 추적 (가장 최근 호출 마지막) :

파일“/home/94493cdfb3c8509146254862d12bcc97.py”, 12 행, in

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

TypeError :‘str’개체는 정수로 해석 될 수 없습니다.

그래서 이것은 파이썬의 GCD에 대한이 기사의 끝으로 우리를 가져옵니다.

다양한 응용 프로그램과 함께 Python에 대한 심층적 인 지식을 얻으려면 다음을 수행 할 수 있습니다. 연중 무휴 지원 및 평생 액세스가 가능한 라이브 온라인 교육. 질문이 있으십니까? 이 기사의 댓글 섹션에서 언급하시면 다시 연락 드리겠습니다.