C-求两个整数的最大公约数和最小公倍数(函数)

Description

写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。

Input

两个数

Output

最大公约数 最小公倍数

Sample Input

6 15

Sample Output

3 30

HINT

主函数已给定如下,提交时不需要包含下述主函数

/*  C代码   */
int main()
{
    int n,m,gys,gbs;
    int gcd(int a, int b);
    int lcm(int a, int b);
    scanf("%d%d",&n,&m);
    gys=gcd(n,m);
    gbs=lcm(n,m);
    printf("%d %d\n",gys,gbs);
    return 0;
}

参考解答

#include 
int main()
{
    int n,m,gys,gbs;
    int gcd(int a, int b);
    int lcm(int a, int b);
    scanf("%d%d",&n,&m);
    gys=gcd(n,m);
    gbs=lcm(n,m);
    printf("%d %d\n",gys,gbs);
    return 0;
}

/*在烟大OJ平台,只提交下面的部分即可。*/
/*main函数在平台中已经提供,再提交一次,会发生“多个mian函数”的错误*/
int gcd(int x,int y)
{
    int r;
    while(y>0)
    {
        r=x%y;
        x=y;
        y=r;
    }
    return x;
}

int lcm(int x,int y)
{
    return ((x*y)/gcd(x,y));
}

你可能感兴趣的:(C-求两个整数的最大公约数和最小公倍数(函数))