GCD를 찾는 C++ 프로그램

Gcdleul Chajneun C Peulogeulaem



GCD는 ' 최대 공약수 ' (GCD). 다양한 계산 및 기술에 정기적으로 나타납니다. 나머지가 0인 두 개 이상의 숫자를 나눈 결과인 가장 큰 양수를 계산하는 데 사용되는 수학의 기본 개념입니다.

이 가이드에서는 C++의 메서드로 GCD를 찾기 위해 다양한 패턴을 분석합니다.

GCD를 찾는 C++ 프로그램

C++에서 제공된 두 수를 나머지 없이 나누는 가장 큰 양의 정수를 얻으려면 GCD(최대 공약수)를 사용합니다. 분수를 단순화하고 공통 요소와 관련된 문제를 해결하는 데 도움이 됩니다. 프로그램의 GCD 함수는 두 입력 정수 사이의 최대 공약수를 반환합니다.







C++는 두 숫자의 GCD를 계산하기 위한 여러 가지 방법을 제공합니다. 그들 중 일부는 아래에 설명되어 있습니다.



방법 1: C++에서 유클리드 알고리즘을 사용하여 GCD 찾기

유클리드 알고리즘 ”는 두 개의 서로 다른 숫자의 GCD를 결정하는 데 널리 사용되는 신뢰할 수 있는 방법입니다. 큰 정수에서 작은 수(정수)를 빼면 두 정수에 대한 GCD는 변하지 않는다는 사실에 근거하며, 이 접근 방식은 정수 중 하나라도 0이 될 때까지 계속됩니다.



아래 예를 살펴보겠습니다. 여기서는 유클리드 알고리즘을 사용하여 두 숫자의 (GCD)를 찾습니다. 먼저 필수 라이브러리를 포함합니다.





#include
사용 네임스페이스 성병 ;

여기:

  • ” 헤더 파일에는 입력 및 출력 작업을 가능하게 하는 입력 및 출력 스트림이 포함되어 있습니다.
  • 네임스페이스 표준 사용 ”는 std 네임스페이스에서 가져온 이름을 더 쉽게 사용할 수 있도록 하는 지시문입니다.

그런 다음 ' 찾기_GCD() ' 두 개의 정수 매개변수를 받는 함수 ' 가치 1 ' 그리고 ' 값2 ” 각각. 다음으로 ' 만약에 '를 확인하는 문 가치 1 '는 항상 '보다 크고 같습니다. 값2 '. 이 후, “ ~하는 동안 ” 조건이 될 때까지 값을 계속 반환하는 루프가 사용됩니다. 값2!= 0 '는 거짓이 됩니다. 'while' 루프 내에서 'value1'을 'value2'로 나누고 결과를 ' 나머지 변수.

'value1'과 'value2'의 값은 'value1'이 'value2'의 현재 값이 되고 'value2'가 계산된 '나머지'가 되므로 업데이트됩니다. 루프는 'value2'가 0이 될 때까지 계속되며, 그 시점에서 유클리드 알고리즘으로 GCD를 찾았습니다. 마지막으로 'find_GCD' 함수에 'value1'을 반환합니다.

정수 find_GCD ( 정수 가치 1, 정수 값2 ) {
만약에 ( 값2 > 가치 1 ) {
교환 ( 값1, 값2 ) ;
}
~하는 동안 ( 값2 ! = 0 ) {
정수 나머지 = 가치 1 % 값2 ;
가치 1 = 값2 ;
값2 = 나머지 ;
}

반품 가치 1 ;
}

'에서 기본() ” 함수, 선언된 “ 숫자 1 ' 그리고 숫자 1 ' 변수. 그런 다음 ' 쿠우트 ” 문을 사용하여 사용자로부터 입력을 받습니다. 다음으로 “ 식사 ” 객체는 표준 입력에서 입력된 정수를 읽어 “num1” 및 “num2” 변수에 저장하는 데 사용됩니다. 이후 “ 찾기_GCD() ” 메서드는 'num1'과 'num2'를 매개 변수로 사용하고 결과를 ' 내_결과 변수. 마지막으로 ' 쿠우트 ' 와 더불어 ' << 콘솔에 예상 GCD를 출력하기 위한 삽입 연산자:

정수 기본 ( ) {
정수 숫자1, 숫자2 ;
쿠우트 << '숫자 두 개 입력' << ;
식사 >> 숫자 1 >> 숫자 2 ;

정수 내_결과 = find_GCD ( 숫자1, 숫자2 ) ;
쿠우트 << '유클리드 알고리즘을 사용한 두 정수의 GCD: ' << 내_결과 << ;

반품 0 ;
}

산출

방법 2: C++에서 재귀적으로 GCD 찾기

C++에서 GCD를 계산하는 또 다른 방법은 if ​​문을 재귀적으로 사용하는 것입니다. 아래 주어진 C++의 간단한 프로그램 예제를 확인해보자.

아래 코드에서 ' 계산_Gcd() ” 두 숫자의 GCD를 계산하는 기능. 두 개의 정수 매개변수를 사용합니다. ' 그리고 ' '. ' 여부를 확인합니다. '는 '와 같습니다. 0 '를 입력한 다음 '을 반환합니다. '. 그렇지 않으면 ' 계산_Gcd() ” 함수는 매개변수를 사용하여 재귀적으로 호출합니다. ' 그리고 ' a%b ”:

#include
사용 네임스페이스 성병 ;
정수 계산_Gcd ( 정수 ㅏ, 정수 )
{
만약에 ( == 0 )
반품 ;
반품 계산_Gcd ( 비, 에이 % ) ;
}

다음으로 ' num1' 및 'num2' 변수를 선언합니다. 기본() ' 기능. 그런 다음 ' 쿠우트 ” 문을 사용하여 “ 두 개의 숫자를 입력하세요 ' 메시지가 표시된 다음 ' 식사 ” 객체는 사용자가 입력한 변수를 읽고 저장합니다. 앞으로 ' 계산_Gcd() ” 입력 값이 “num1” 및 “num2”인 함수. ' 안에 저장 결과 ” 변수를 사용하고 “ 쿠우트 ”를 입력하여 결과 값을 표시합니다.

정수 기본 ( )
{
정수 숫자1, 숫자2 ;
쿠우트 << '두 개의 숫자를 입력하세요: ' <> 숫자 1 >> 숫자 2 ;
정수 결과 = 계산_Gcd ( 숫자1, 숫자2 ) ;
쿠우트 << '재귀 방법을 사용하는 두 숫자의 GCD' << 결과 << ;
반품 0 ;
}

산출

방법 3: C++에서 for 루프를 사용하여 GCD 찾기

아래 주어진 프로그램은 'for' 루프를 사용하여 가장 큰 공약수를 발견했습니다.

#포함하다
사용 네임스페이스 성병 ;
정수 기본 ( ) {
정수 값1, 값2, gcd ;
쿠우트 << '정수형의 값을 두 개 입력하세요' <> 가치 1 >> 값2 ;
만약에 ( 값2 > 가치 1 ) {
정수 온도 = 값2 ;
값2 = 가치 1 ;
가치 1 = 온도 ;
}

~을 위한 ( 정수 = 1 ; <= 값2 ; ++ ) {
만약에 ( 가치 1 % == 0 && 값2 % == 0 ) {
gcd = ;
}
}
쿠우트 << 'for 루프를 사용하는 두 값의 GCD: ' << gcd ;

반품 0 ;
}

위 코드에서 먼저 3개의 정수 변수를 선언합니다. 가치 1 ”, “ 값2 ', 그리고 ' gcd ” 안에 기본() ' 기능. 다음으로 ' 쿠우트 ” 개체를 사용하여 사용자로부터 입력 값을 가져옵니다. 사용자가 입력한 값은 'value1'과 'value2'에 저장됩니다. >> ' 연산자를 ' 식사 ' 물체. 그런 다음 ' 만약에 ' 문을 사용하여 ' 가치 1 ' 이다 ' > ' 보다 ' 값2 ”를 확인하여 “ 온도 ” 변수는 'value2'를 보유하고 'value1'을 'value2'에 할당하고 'temp'를 'value1'에 할당합니다. 그런 다음 'for' 루프는 내부 ​​' 만약에 ” 조건을 만족합니다. 마지막으로 ' 쿠우트 ” 문을 사용하여 결과를 인쇄합니다. 다음과 같이:

GCD를 찾는 C++ 프로그래밍 방법에 대해 배웠습니다.

결론

GCD는 사용자가 나머지를 남기지 않고 두 숫자를 나누는 가장 큰 양의 정수를 결정하는 데 도움이 되는 수학의 중요한 개념입니다. C++에서 GCD를 찾는 데 ' 유클리드 알고리즘”, “ 재귀적 ', 그리고 ' ~을 위한 ' 루프. 이 가이드에서는 GCD를 찾는 C++ 프로그래밍 방법을 설명했습니다.