C++ 多个数求最小公倍数
答案:4 悬赏:80 手机版
解决时间 2021-03-24 18:18
- 提问者网友:孤凫
- 2021-03-24 11:26
C++ 多个数求最小公倍数
最佳答案
- 五星知识达人网友:野慌
- 2021-03-24 11:37
求同时n个数的最小公倍数或最大公约数,可采取单独求解的方法,即不要同时使用那种N数之积除以最大公约数的方法(不管用的,它只适合两个或少量的数才有效,因为数字越多就越容易发生内存溢出):
全部回答
- 1楼网友:詩光轨車
- 2021-03-24 14:18
你是求出最大公约数,再用sum/它
其实你可以直接求最先公倍数的,两个数的最小公倍数的求法就用到了最大公约数
int gbs(int a,int b)
{
return (a*b)/(gys(a,b));
}
这样应该没有错了,你把这个题目的链接给我,我看看能不能过追问题目上是要多个数啊~追答我不知道啊,你把题目的链接给我,我给你看看,或者把原来的题目给我看看追问http://210.38.224.114:808/JudgeOnline/problem.php?id=1056追答好像是hust的吧!我给你看看,其实我建议你做题到poj,或者hdu去做,那里面的题目网上都有很多好的题解,这样进步会很快
你就两个两个的求,这样就对了,不要求什么公约数,在来除,直接求公倍数就行了
还有就是不要用int,用long long,如果你的事VC 6.0的话,就用__int64,不过OJ上一般不接受__int64
其实你可以直接求最先公倍数的,两个数的最小公倍数的求法就用到了最大公约数
int gbs(int a,int b)
{
return (a*b)/(gys(a,b));
}
这样应该没有错了,你把这个题目的链接给我,我看看能不能过追问题目上是要多个数啊~追答我不知道啊,你把题目的链接给我,我给你看看,或者把原来的题目给我看看追问http://210.38.224.114:808/JudgeOnline/problem.php?id=1056追答好像是hust的吧!我给你看看,其实我建议你做题到poj,或者hdu去做,那里面的题目网上都有很多好的题解,这样进步会很快
你就两个两个的求,这样就对了,不要求什么公约数,在来除,直接求公倍数就行了
还有就是不要用int,用long long,如果你的事VC 6.0的话,就用__int64,不过OJ上一般不接受__int64
- 2楼网友:鱼忧
- 2021-03-24 12:54
出现0的话是不是会有bug呢?
- 3楼网友:毛毛
- 2021-03-24 12:40
输入是什么呢? 可以手工验证下
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯