博客
关于我
最小公倍数
阅读量:570 次
发布时间:2019-03-11

本文共 758 字,大约阅读时间需要 2 分钟。

计算两个正整数的最小公倍数(LCM),可以通过以下步骤实现:

  • 求最大公约数(GCD):使用欧几里得算法,通过不断取余数计算两个数的最大公约数。具体步骤如下:

    • 令较大的数为 a,较小的为 b
    • 进入循环:a = b, b = a % b,直到 b 为 0,此时 a 即为 GCD。
  • 计算最小公倍数:利用公式 LCM(a, b) = (a × b) / GCD(a, b)。这是因为乘积除以最大公约数会去掉重复的质因数,从而得到最小可能的公倍数。

  • 实现步骤

    • 读取输入的两个正整数 mn
    • 调用 gcd 函数计算两数的最大公约数。
    • 使用公式计算最小公倍数,并输出结果。

    示例验证

    • 对于输入 1014
      • GCD(10, 14) = 2
      • LCM = (10 × 14) / 2 = 70
    • 对于输入 55
      • GCD(5, 5) = 5
      • LCM = (5 × 5) / 5 = 5

    代码实现

    #include 
    int gcd(int a, int b) { while (b != 0) { a = b; b = a % b; } return a;}int main() { int m, n; while (scanf("%d %d", &m, &n)) { int gcd_val = gcd(m, n); int lcm = (m * n) / gcd_val; printf("%d\n", lcm); } return 0;}

    输出示例

    • 输入:10 14
      • 输出:70
    • 输入:5 5
      • 输出:5

    这个程序能够有效计算两个正整数的最小公倍数,处理所有符合条件的输入。

    转载地址:http://qgavz.baihongyu.com/

    你可能感兴趣的文章
    广东外语外贸大学第三届网络安全大赛Writeup
    查看>>
    跟着燕青学分布式事务控制技术方案
    查看>>
    Activiti视频分享
    查看>>
    VS2019 报错: LINK Error 无法找到 MSCOREE.lib的解决办法
    查看>>
    关于JS中的内存溢出与内存泄漏
    查看>>
    Vue——v-model结合值绑定写法
    查看>>
    JS实现防抖与节流(使用按钮触发事件)
    查看>>
    剑指 Offer 04. 二维数组中的查找
    查看>>
    React 学习笔记 —— refs 属性的三种书写方式
    查看>>
    React 学习笔记 —— Fragment
    查看>>
    CCF 模拟2-1 夏令营
    查看>>
    第八届蓝桥杯——杨辉三角
    查看>>
    算法训练——字符串合并
    查看>>
    第七届蓝桥杯(国赛)——凑平方数
    查看>>
    信息学奥赛一本通【题目索引 + 解答】
    查看>>
    统计字符数
    查看>>
    MySQL事务
    查看>>
    什么时候需要重写HashCode()
    查看>>
    2021-04-23
    查看>>
    Linux编程基础之创建两个子进程而不创建孙子进程
    查看>>