CDZSC_2015寒假新人(2)——数学 P

P - P
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
Submit Status

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

2 6 2 12 4
 

Sample Output

4 8
 

 

 
 1 #include<cstdio>
 2 #include<cstring>
 3 bool cmp(int a,int b)
 4 {
 5     int c;
 6      while(b!=0)//辗转相除法
 7     { 
 8         c=a%b; 
 9         a=b; 
10         b=c;
11      }  
12      if(a==1)
13          return 1;
14      else
15          return 0;
16 }
17 int main()
18 {
19     int a,b,c;
20     int n;
21     scanf("%d",&n);
22     while(n--)
23     {
24         scanf("%d%d",&a,&b);
25         
26         int m=a/b;
27         for(int i=2;1;i++)
28         {
29             if(cmp(i,m))
30             {
31                 printf("%d\n",i*b);
32                 break;
33             }
34         }
35     }
36 }
View Code

 

posted on 2015-01-24 20:14  学习编程的峰峰  阅读(129)  评论(0编辑  收藏  举报

导航