hdu2504 又见GCD 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2504
基础数学水
题目大意:两个数的最大公约数和其中一数已知,求另外一数(不为最大公约数)。
思路:先求出A/B然后从2开始找跟此商互质的数i,A/B*i即为结果。
以下是代码:
#include<stdio.h>
int gcd(int a,int b)
{
if(b==0)
return a;
return
gcd(b,a%b);
}
int main()
{
int t,a,b,i;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&a,&b);
a/=b;
for(i=2;;i++)
{
if(gcd(a,i)==1)
{
printf("%d\n",i*b);break;
}
}
}
return 0;
}
PS:一开始忘记gcd了,费了点时间。