HDU2504

来源:互联网 发布:电视机网络机顶盒 编辑:程序博客网 时间:2024/05/20 20:57

又见GCD

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 18109    Accepted Submission(s): 7542


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
4

8

#include<stdio.h>#include<algorithm>#include<iostream>using namespace std;int gcd(int a,int b){    if(a==0)    {        return b;    }    else    {        return gcd(b % a,a);    }}int main(){    int n;    scanf("%d",&n);    while(n--)    {        int a,b,c,i;        scanf("%d%d",&a,&b);        for( i=b+b;i<=a*b;i+=b)        {            if(gcd(a,i)==b)            {                break;            }        }        printf("%d\n",i);    }    return 0;}


0 0
原创粉丝点击