【C语言】7.1 求最大公约数和最小公倍数

avatar

azurekiln

//5.3 请输入两个正整数m, n,求其最大公约数和最小公倍数。 
#include <stdio.h>

int get_gcd(int m, int n) {
    int tmp_m = m, tmp_n = n, t;
    //当m除以n不整除时 
    while ((t = tmp_m % tmp_n) != 0) {
        //余数 
        tmp_m = tmp_n;
        tmp_n = t;
    }
    return tmp_n;
}

int get_lcm(int m, int n, int gcd) {
    return (m * n) / gcd;
}

int main() {
    int m, n, gcd, lcm;
    printf("输入两个正整数m、n并用逗号隔开:");
    scanf("%d,%d", &m, &n);
    gcd = get_gcd(m, n);
    lcm = get_lcm(m, n, gcd);
    printf("正整数m和n的最大公约数为:%d\n最小公倍数为:%d", gcd, lcm);
    return 0;
}

扫描二维码,在手机上阅读
收藏
请先 登录 再评论
powered by emlog pro
服务器供应商 景云数据

友情链接
白衣Ink


sitemap