最大公约数和最小公倍数

要求两个给定正整数的最大公约数和最小公倍数。
输入格式:

输入在一行中给出两个正整数M和N(≤1000)。

输出格式:

在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例:

511 292

输出样例:

73 2044

代码如下
#include <stdio.h>
int main()
{
    int m, n, t = 1, k;
    scanf("%d %d", &m, &n);
    k = m * n;
    if (m < n)
    {
        t = m;
        m = n;
        n = t;
    }
    while (t > 0)       // 辗转相除法求最大公约数
    {
        t = m % n;
        m = n;
        n = t;
    }
    printf("%d %d\n", m, k / m);   // 公式法求最小公倍数
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容