您的位置:首页 > 其它

HDU 2054 又见GCD

2012-11-14 22:37 225 查看
又见GCD

Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 23 Accepted Submission(s) : 6

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

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

26 212 4

Sample Output

48

Source

《ACM程序设计》短学期考试_软件工程及其他专业

#include<stdio.h>

int main()

{

long n,a,b,i,r,t,s;

while(scanf("%ld",&n)!=EOF)

{

while(n--)

{

scanf("%d%d",&a,&b);

for(i=2,s=1,t=a;;i++,t=a)

{

s=i*b;

while(s)

{ r=t%s;

t=s;

s=r;

}

if(t==b&&a%(i*b)!=0) break;

}

printf("%ld\n",i*b);

}

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: