題目40-公約數和公倍數

公約數和公倍數

描述
小明被一個問題給難住了,現在需要你幫幫忙。問題是:給出兩個正整數,求出它們的最大公約數和最小公倍數。
輸入
第一行輸入一個整數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 gbs(int m,int n)
{
    int t;
    while(n)
    {
        t=m%n;
        m=n;
        n=t;
    }
    return m;
}
int main()
{
    int n,a,b,t,x,y;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d%d",&a,&b);
        if(a<b)
        {
            t=a; a=b; b=t;
        }
        x=gbs(a,b);
        y=(a*b)/x;
        printf("%d %d\n",x,y);
    }
    return 0;
}

發佈了62 篇原創文章 · 獲贊 25 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章