求两个整数的最小公倍数与最大公约数

来源:互联网 发布:网络防御技术 编辑:程序博客网 时间:2024/05/21 22:30
题目描述
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入
两个整数
输出
最大公约数,最小公倍数
样例输入
5 7
样例输出
1 35

# include <stdio.h>

int  main()

{

    int x, y, m, n, temp;

    scanf("%d %d", &m, &n);

    if(m < n)//如果不考虑的话,17行的代码就会有问题。此处考虑到如果m小于n那就借助temp令其值互换。

    {

        temp = m;

        m = n;

        n = temp;

    }

    x = m;

    y = n;

    while(y != 0)//此处用到了辗转相除法。

    {

        temp = x % y;//如果x % y == 0那么此时y为x,y的最大公约数。

        x = y;

        y = temp;

    }

    printf("%d ", x);

    printf("%d\n", m * n / x);//最小公倍数的计算方法是:两整数相乘后,再除以这两个数的最大公约数。

    return 0;

}

原创粉丝点击