第3章 第197节 C 语言实例 - 求两数最小公倍数

推荐给朋友

C 语言实例 - 求两数最小公倍数

用户输入两个数,求这两个数的最小公倍数。

实例 - 使用 while 和 if

#include <stdio.h>

int main()
{
    int n1, n2, minMultiple;
    printf("输入两个正整数: ");
    scanf("%d %d", &n1, &n2);

    // 判断两数较大的值,并赋值给 minMultiple
    minMultiple = (n1>n2) ? n1 : n2;

    // 条件为 true
    while(1)
    {
        if( minMultiple%n1==0 && minMultiple%n2==0 )
        {
            printf("%d 和 %d 的最小公倍数为 %d", n1, n2,minMultiple);
            break;
        }
        ++minMultiple;
    }
    return 0;
}

运行结果:

输入两个正整数: 72 120
72 和 120 的最小公倍数为 360

实例 - 通过最大公约数计算

#include <stdio.h>

int main()
{
    int n1, n2, i, gcd, lcm;

    printf("输入两个正整数: ");
    scanf("%d %d",&n1,&n2);

    for(i=1; i <= n1 && i <= n2; ++i)
    {
        // 判断最大公约数
        if(n1%i==0 && n2%i==0)
            gcd = i;
    }

    lcm = (n1*n2)/gcd;
    printf("%d 和 %d 的最小公倍数为 %d", n1, n2, lcm);

    return 0;
}

运行结果:

输入两个正整数: 72 120
72 和 120 的最小公倍数为 360