对于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