首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >2个长整数的LCM

2个长整数的LCM
EN

Stack Overflow用户
提问于 2012-04-02 01:37:21
回答 2查看 286关注 0票数 0

我想尽快计算两个长整数的lcm,

代表ex a=10^18 b=10^17

我正在为整数做lcm(a,b)=a*b/gcd(a,b),但是对于long,则会出现溢出

最快的计算方法是什么??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-02 01:42:03

你总是会有溢出问题,特别是当你有大量的数据时。但是为了抵消这一点,你可以按照迈克尔的建议写a * (b/gcd(a,b))。由于gcd(a,b)ab的除数,所以不担心由于整数除法而导致的结果不准确。

票数 8
EN

Stack Overflow用户

发布于 2012-04-02 03:24:33

代码语言:javascript
运行
复制
a*b <= c 
// When will a*b overflow c?
a > c/b

在您的例子中,c可以是LLONG_MAX

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9969973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档