最大公约数和最小公倍数

 1 #include<stdio.h>
 2 int gcd(int a,int b)
 3 {
 4     int t,max,min;
 5     if(a>b)
 6     {
 7         max=a;
 8         min=b;
 9     }
10     else
11     {
12         max=b;
13         min=a;
14     }
15     while(min!=max)
16     {
17         t=max-min;
18         if(t>min)
19         {
20             max=t;
21         }
22         else
23         {
24             max=min;
25             min=t;
26         }
27     }
28     return max;/*最大公约数*/
29 }
30 int lcm(int a,int b)
31 {
32     return a*b/gcd(a,b);/*两数之积除以最大公约数*/
33 }
34 int main()
35 {
36     int a,b,n;
37     scanf("%d",&n);
38     while(n--)
39     {    
40         scanf("%d%d",&a,&b)==2;
41         printf("%d %d\n",gcd(a,b),lcm(a,b));
42     }
43 }

 



posted @ 2015-04-26 22:51  御心飞行  阅读(141)  评论(0编辑  收藏  举报