English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 예제에서는 두 수의 GCD를 두 가지 다른 방법으로 찾을 것입니다: 함수와 루프 및 유리스톤 알고리즘
이 예제를 이해하려면 다음을 이해해야 합니다:Python 프로그래밍주제:
두 수의 최대 공약수(H.C.F) 또는 최대 공분수(G.C.D)는 두 개의 주어진 수를 완벽하게 나누는 가장 큰 양수입니다. 예를 들어, H.C.F(12, 14)은2.
# Python 프로그램이 두 수의 H.C.F를 찾는다 # 함수 정의 def compute_hcf(x, y): # 작은 숫자 선택 if x > y: 작은 = y else: 작은 = x for i in range(1, 작은+1) if((x % i == 0) and (y % i == 0)): hcf = i return hcf num1 = 54 num2 = 24 print("H.C.F는", compute_hcf(num1, num2))
출력 결과
H.C.F는 6
여기서, 변수 num에 저장된1와 num2의 두 정수가 compute hcf() 함수에 전달됩니다. 이 함수는 두 수의 hcf를 계산하고 반환합니다.
이 함수에서, 우리는 두 수 중 작은 수를 먼저 결정하고, 그 수는 가장 작은 수보다 작거나 같아야 합니다. 그런 다음, 그 중 하나에서1저에게 이 数字.
각 반복에서, 우리는 입력 수가 두 입력 수를 완벽하게 나누는지 확인합니다. 그렇다면, 이 수를 H.C.F로 저장하고, 루프가 끝나면 가장 큰 수가 두 수를 완벽하게 나누는 최대 수가 됩니다.
위 메서드는 이해하기 쉽고 구현하기 쉽지만, 효율성이 높지 않습니다. hcf를 찾는 더 효율적인 방법은 유리수 계산법입니다.
이 알고리즘은 다음 사실에 기반합니다: 두 수의 hcf는 그들의 차를 나눕니다.
이 알고리즘에서, 우리는 큰 수를 작은 수로 나누고 나머지를 뺍니다. 그런 다음, 작은 수를 그 나머지로 나눕니다. 0이 되까지 반복합니다.
예를 들어, 우리가54와24의 hcf를 찾으려면, 우리는54으로 나눕니다.24. 나머지는6.24으로 나눕니다.6، 나머지는 0입니다. 따라서,6필수 hcf
# 함수는 유리수 hcf를 찾는 데 유리수 계산법을 사용합니다 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가 0이 되까지 반복합니다. 이 문장 x, y = y, x % y는 파이썬에서 값을 교환합니다. 클릭하여 더 알아보세요파이썬에서 변수를 교환하는자세한 정보.
각 반복에서, 우리는 y의 값을 x에 넣고 나머지 (x % y)를 y에 넣습니다. y가 0이 되면, x의 hcf를 얻습니다.