博客
关于我
【ACM】最小公倍数LCM
阅读量:539 次
发布时间:2019-03-09

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

计算两个正整数A和B的最小公倍数(LCM)

  • 问题理解最小公倍数是指两个数都能整除它的最小数。在数学中,最小公倍数与最大公约数(GCD)有关系。已知公式:LCM(A, B) = (A × B) / GCD(A, B)

  • 使用欧几里得算法计算GCD欧几里得算法是一种高效的方法,通过反复应用除法来减小两个数的大小,最终找到它们的最大公约数。

  • 代码实现

    • 编写一个用于计算GCD的函数。
    • 使用输入输出流读取两个整数a和b。
    • 计算GCD,然后使用公式计算LCM。
    • 输出计算结果。
    1. 代码示例
    2. #include 
      using namespace std;long long gcd(long long x, long long y) { while (y != 0) { long long temp = y; y = x % y; x = temp; } return x;}int main() { long long a, b; cout << "输入两个整数a和b:"; cin >> a >> b; long long gcd_val = gcd(a, b); long long lcm = (a * b) / gcd_val; cout << "最小公倍数是:" << lcm << endl; return 0;}
      1. 备注
        • 使用long long类型以应对大数运算。
        • 欧几里得算法确保计算高效,时间复杂度为O(log(min(A,B))).
        • 样例输入:30 105,结果为210。

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

    你可能感兴趣的文章
    mysql 协议的退出命令包及解析
    查看>>
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>
    mysql 多个表关联查询查询时间长的问题
    查看>>
    mysql 多字段删除重复数据,保留最小id数据
    查看>>
    MySQL 多表联合查询:UNION 和 JOIN 分析
    查看>>
    MySQL 大数据量快速插入方法和语句优化
    查看>>
    mysql 如何给SQL添加索引
    查看>>
    mysql 字段区分大小写
    查看>>
    mysql 字段合并问题(group_concat)
    查看>>
    mysql 字段类型类型
    查看>>
    MySQL 字符串截取函数,字段截取,字符串截取
    查看>>
    MySQL 存储引擎
    查看>>
    mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
    查看>>
    MySQL 存储过程参数:in、out、inout
    查看>>
    mysql 存储过程每隔一段时间执行一次
    查看>>
    mysql 存在update不存在insert
    查看>>
    Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
    查看>>
    Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
    查看>>
    Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
    查看>>
    Mysql 学习总结(89)—— Mysql 库表容量统计
    查看>>