Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

X에서 주어진 A와 B에 대해 가능한 최소 양의 정수 값 X =P*A + Q*B in C++

<시간/>

문제 설명

A와 B의 값이 주어지면 X =P*A + Q*B 방정식에서 얻을 수 있는 X의 최소 양의 정수 값을 찾으십시오. 여기서 P와 Q는 0 또는 양 또는 음의 정수일 수 있습니다.

예시

A =2, B =4이면 답은 2가 됩니다.

알고리즘

  • P*A> P*B 및 P*A – P*B가 최소 양의 정수가 되도록 P와 Q를 찾아야 합니다.
  • 이 문제는 두 숫자의 GCD를 계산하여 쉽게 해결할 수 있습니다.

예시

#include <iostream>
using namespace std;
int getGcd(int a, int b) {
   if (a == 0) {
      return b;
   }
   return getGcd(b % a, a);
}
int main() {
   cout << "Answer = " << getGcd(2, 4) << endl;
   return 0;
}

출력

위의 프로그램을 컴파일하고 실행할 때. 다음 출력을 생성합니다 -

Answer = 2