http://acm.hdu.edu.cn/showproblem.php?pid=2504
|
又见GCDTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10021 Accepted Submission(s): 4178
Problem Description
有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b。若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c。
Input
第一行输入一个n,表示有n组测试数据,接下来的n行,每行输入两个正整数a,b。
Output
输出对应的c,每组测试数据占一行。
Sample Input
Sample Output
|
#include<stdio.h>
int judge(int i,int j)
{
int n;
if(i<j)
{int t=i;i=j;j=t;}
do
{
n=i%j;
i=j;
j=n;
//printf("%d %d#\n",i,j);
}while(j>0);
return i;
}
int main()
{
int a,b,c,T,i;
scanf("%d",&T);
while(T--)
{
scanf("%d %d",&a,&b);
for(i=1;;i++)
{
if(judge(a,i)==b&&i!=b)
break;
}
printf("%d\n",i);
//printf("%d\n",judge(a,b));
}
//while(1);
return 0;
}