1. 程式人生 > >7-26 最大公約數和最小公倍數(15 分)

7-26 最大公約數和最小公倍數(15 分)

題目:

本題要求兩個給定正整數的最大公約數和最小公倍數。

輸入格式:
輸入在一行中給出兩個正整數M和N(≤1000)。

輸出格式:
在一行中順序輸出M和N的最大公約數和最小公倍數,兩數字間以1空格分隔。

輸入樣例:
511 292

輸出樣例:
73 2044

程式碼:

#include <stdio.h>
int main(){
    int a, b, m, n;
    int remainder;
    scanf("%d%d", &a, &b);
    m = a;
    n = b;
    remainder = m % n;
    while(remainder!=0){ // 輾轉相除法求最大公約數
        m = n;
        n = remainder;
        remainder = m % n;
    }
    printf("%d %d\n", n, a*b/n);

    return 0;
}