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

最小公倍数=两整数的乘积 / 最大公约数

辗转相除法 求 最大公约数

//3.辗转相除法(欧几里得算法)
#include<stdio.h> 
int main()
{
    int a = 0;
    int b = 0;
    printf("请输入两个数字:>");
    scanf("%d %d", &a, &b);
    int a1 = a;//辗转相除会改变值  
    int b1 = b;//因此需要替身  
    int tmp = 0;
    while (b1)
    {
        //辗转相处求出最大公约数    
        tmp = a1 % b1;
        a1 = b1;
        b1 = tmp;
        //此时a1就是最大公约数    
    }
    // a * b / a1 = 最小公倍数    
    printf("%d %d两数的最小公倍数为%d\n", a,b,a*b/a1);
    printf("%d %d两数的最大公约数为%d\n", a, b, a1);
    return 0;
}

posted @ 2022-09-01 14:24  麦克斯的园丁  阅读(169)  评论(0编辑  收藏  举报