编程:输入三个数,求其最大公约数和最小公倍数

如题所述

C语言实现的,仅供参考:

#include<stdio.h>
//最大公约数
int gcd(int a,int b)
{
    if (a > b)
    {
        a^=b;b^=a;a^=b;
    }
    return a > 0 ? gcd (b % a, a) : b;
}
//最小公倍数
int lcm(int a, int b)
{
    int i;
    if (a > b)
    {
        a^=b;b^=a;a^=b;
    }
    for (i = b; i % a != 0; i+= b);
    return i;
}
 
int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b) !=EOF)
    {
        printf("%d %d\n", gcd(a,b),lcm(a,b));
    }
    return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答