학교와 대학에서 우리는 모두 수학의 기초를 배웠습니다. 삼각법과 산술의 모든 복잡한 개념 중에서 프로그래밍에서 가장 자주 사용되는 개념 중 하나는 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입니다.
일반적인 예외
이 기능을 사용하는 가장 일반적인 예외는 다음과 같습니다.
- 사용자가 입력 한 숫자 중 하나가 0이면 함수는 0을 반환합니다.
- 입력 중 하나가 문자이면 함수는 유형 오류를 반환합니다.
이를 더 잘 이해하려면 아래 예제를 살펴보십시오.
# 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에 대한 심층적 인 지식을 얻으려면 다음을 수행 할 수 있습니다. 연중 무휴 지원 및 평생 액세스가 가능한 라이브 온라인 교육. 질문이 있으십니까? 이 기사의 댓글 섹션에서 언급하시면 다시 연락 드리겠습니다.