这道题就是考虑详细一点,要找的数首先是b的倍数,大于b,其次就是判断b是不是c和a的最大公约数,当b=a是c就是b的两倍。
#include<stdio.h>
#include<string.h>
bool pr(int a,int b)
{
int i,j;
j=a>b?b:a;
for(i=2;i<=j;i++)
if(a%i==0&&b%i==0)
return 1;
return 0;
}
int main()
{
int a,b,c,i,j,n;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
j=0;
if(a==b)
{
printf("%d\n",2*b);
continue;
}
for(i=b+b;i<=1000000;i+=b)
{
if(a%i&&i%a)
{
if(pr(a/b,i/b))
continue;
c=i;
break;
}
}
printf("%d\n",c);
}
return 0;
}