ZZULIOJ 1063: 最大公约与最小公倍 *

题目描述
输入两个正整数,输出其最大公约数和最小公倍数。
输入
输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。
输出
输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。
样例输入
4 6
样例输出
2 12
提示
注意运算过程中的溢出问题


(C语言代码)

#include
int main()
{
    int n,m,y,a,b;
    scanf("%d%d",&n,&m);
    a=n;
    b=m;
    while(b%a>0)
    {
        y=a%b;
        a=b;
        b=y;
    }
    printf("%d %d",a,m/a*n);
    return 0;
}

最大公约数和最小公倍数的关系
输入正整数n、m
最大公约数为a
则最小公倍数为n*m/a

你可能感兴趣的:(ZZULIOJ,c语言)