#include <iostream>
using namespace std;
int gcd(int a, int b)
{
int t, r;
if(a > b)
{
t = b;
b = a;
a = t;
}
while(a)
{
r = b % a;
b = a;
a = r;
}
return b;
}
int main()
{
int T;
cin >> T;
//gcd(a,c) == b;
//c == b * n
int a, b, c;
while(T--)
{
cin >> a >> b;
for(c = b + b; gcd(a, c) != b && c < a * b; c += b);
cout << c << endl;
}
return 0;
}
本文提供了一种求两个整数最小公倍数满足特定条件的C++实现。通过输入两个整数a和b,程序将输出满足gcd(a, c) == b且c为b的倍数的最小正整数c。利用辗转相除法实现了最大公约数函数,并通过循环迭代找到符合条件的最小c。
1338

被折叠的 条评论
为什么被折叠?



