nyoj 40 公约数和公倍数

公约数和公倍数

时间限制:1000 ms  |  内存限制:65535 KB

难度:1

描述

小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。

输入

第一行输入一个整数n(0<n<=10000),表示有n组测试数据;
随后的n行输入两个整数i,j(0<i,j<=32767)。

输出

输出每组测试数据的最大公约数和最小公倍数

样例输入

3

6 6

12 11

33 22

样例输出

6 6

1 132

11 66

#include<stdio.h>
  int main()
{
      int n;
scanf("%d",&n);
        while(n--){
            int a,b,num1,num2,t,j,k;
            scanf("%d%d",&num1,&num2);
             if(num1>num2)
                {t=num1;num1=num2;num2=t;}
                a=num1,b=num2;
                  while(num1!=0){
                       j=num2%num1;
                       num2=num1;
                         num1=j;
                  }
                printf("%d ",num2);
                printf("%d
",a*b/num2);
        }return 0;
  }         

  

原文地址:https://www.cnblogs.com/zhangliu/p/7052691.html