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

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

使用 while 和 if

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

int main()
{
    int n1, n2, min_lcm;

    printf("输入两个正整数: ");

    scanf("%d %d", &n1, &n2);

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

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

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
输入两个正整数: 18 56
1856 的最小公倍数为 504

通过最大公约数计算

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#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\n", n1, n2, lcm);

    return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
输入两个正整数: 18 56
1856 的最小公倍数为 504

C 语言范例

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.