对于C中的给定A和B,X可能的X的最小正整数值= C ++中的P * A + Q * B

问题陈述

给定A和B的值,找到可在等式X = P * A + Q * B中获得的X的最小正整数,这里P和Q可以为零或任何正整数或负整数。

示例

如果A = 2且B = 4,则答案将为2。

算法

  • 我们需要找到P和Q,以使P * A> P * B和P * A – P * B为最小正整数。

  • 通过计算两个数字的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