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

 

你可能感兴趣的:(数学)