博客
关于我
16.最小公倍数
阅读量:133 次
发布时间:2019-02-27

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

为了求正整数A和B的最小公倍数,可以使用它们的最大公约数。通过公式:最小公倍数 = (A × B) / 最大公约数。我们可以使用辗转相除法来高效计算最大公约数。

方法1:暴力求解

虽然效率较低,但对于较小的数值来说是可行的。具体步骤如下:

  • 找到较大的数m。
  • 从m开始,逐个检查是否能被A和B整除。
  • 一旦找到满足条件的m,输出它作为最小公倍数。
  • 方法2:利用最大公约数

  • 使用辗转相除法计算A和B的最大公约数。
  • 应用公式计算最小公倍数:(A × B) / GCD(A, B)。
  • 代码实现

    #include 
    using namespace std;
    int gcd(int a, int b) {
    while (b != 0) {
    int temp = b;
    b = a % b;
    a = temp;
    }
    return a;
    }
    int main() {
    int a, b;
    while (cin >> a >> b) {
    cout << a * b / gcd(a, b) << endl;
    }
    return 0;
    }

    示例

    • 输入:5 7

    • 输出:35

    • 输入:4 6

    • 输出:12

    这种方法高效且准确,适用于所有正整数情况。

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

    你可能感兴趣的文章
    Netty工作笔记0070---Protobuf使用案例Codec使用
    查看>>
    Netty工作笔记0077---handler链调用机制实例4
    查看>>
    Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
    查看>>
    Netty工作笔记0085---TCP粘包拆包内容梳理
    查看>>
    Netty常用组件一
    查看>>
    Netty常见组件二
    查看>>
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty心跳检测机制
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架内的宝藏:ByteBuf
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>
    Netty源码—3.Reactor线程模型三
    查看>>
    Netty源码—4.客户端接入流程一
    查看>>
    Netty源码—4.客户端接入流程二
    查看>>
    Netty源码—5.Pipeline和Handler一
    查看>>
    Netty源码—5.Pipeline和Handler二
    查看>>
    Netty源码—6.ByteBuf原理一
    查看>>
    Netty源码—6.ByteBuf原理二
    查看>>
    Netty源码—7.ByteBuf原理三
    查看>>