题目:点击打开链接
刚开始没有考虑周全(想着优化到O(1)):a=b*A,c=b*B,其中A与B互质并且B不等于1(考虑全面再下手QAQ);
#include<bits/stdc++.h>
using namespace std;
int gcd(int m,int n)
{
return n==0?m:gcd(n,m%n);
}
int main()
{
int n,a,b,c;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
int m=a/b;
if(m<=2)
printf("%d\n",(m+1)*b);
else
{
for(int i=2;;i++)
{
if(gcd(i,m)==1)
{
printf("%d\n",i*b);
break;
}
}
}
}
return 0;
}