社区
C++ 语言
帖子详情
最多约数问题
weizhenhua
2008-03-09 08:41:27
问题描述:两个数(a,b)之间求一个数,使得该数的约数最多。
各位高手有没有更好的方法使得该问题的效率很高,使得程序在1秒内得出结果,如a,b分别取1,10000000000,程序结束的时间为1秒之内。。 求救啊!!!!!!
...全文
760
10
打赏
收藏
最多约数问题
问题描述:两个数(a,b)之间求一个数,使得该数的约数最多。 各位高手有没有更好的方法使得该问题的效率很高,使得程序在1秒内得出结果,如a,b分别取1,10000000000,程序结束的时间为1秒之内。。 求救啊!!!!!!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xianyuxiaoqiang
2008-08-08
打赏
举报
回复
易知,如果b>2a,就可以用上述简单方法。
如果b<=2a,需要进一步考虑。
xianyuxiaoqiang
2008-08-08
打赏
举报
回复
[Quote=引用 8 楼 coverallwangp 的回复:]
引用 6 楼 ReViSion 的回复:
其实没有这么难,
只要求最小质数2的次方
在指定数字其间的最大值就可以啦
这个问题就是2^n,要小于等于10000000000,n能取到33,即这个数是8589934592
[/Quote]
如果a=9,b=12,就不能用上述方法了。这时就要想更好的方法。
coverallwangp
2008-08-08
打赏
举报
回复
[Quote=引用 6 楼 ReViSion 的回复:]
其实没有这么难,
只要求最小质数2的次方
在指定数字其间的最大值就可以啦
[/Quote]
这个问题就是2^n,要小于等于10000000000,n能取到33,即这个数是8589934592
ACzhang
2008-08-08
打赏
举报
回复
什么意思?
ReViSion
2008-03-11
打赏
举报
回复
其实没有这么难,
只要求最小质数2的次方
在指定数字其间的最大值就可以啦
weizhenhua
2008-03-11
打赏
举报
回复
coding_hello能不能讲清楚点。。 具体过程是怎样的,是对素数进行枚举还是对a到b之间的数进行枚举?
startlive
2008-03-09
打赏
举报
回复
就是比较小的那些素数。。
野男孩
2008-03-09
打赏
举报
回复
小于sqrt(b)的素数
weizhenhua
2008-03-09
打赏
举报
回复
楼上的能不能说清楚点,取出最前面的一些素数是什么意思
startlive
2008-03-09
打赏
举报
回复
搜索
如果n = a1^p1*a2^p2*...*ak^pk,那么约数个数等于(p1+1)*(p2+1)*...*(pk+1)
对于相同的指数形式,显然越小的a越好。
取出最前面的一些素数,然后搜索就ok啦。。1s之内应该能出解。楼主试试看。
相关推荐
质因数分解法-
最多
约数
问题
质因数分解法-
最多
约数
问题
最多
约数
问题
最多
约数
问题
最多
约数
问题
:正整数x的
约数
是能整除x的正整数。正整数x 的
约数
个数记为div(x)。例如,1,2,5,10 都是正整数10 的
约数
,且div(10)=4。设a 和b 是2 个正整数,a≤b,找出a和b之间
约数
个数
最多
的数x及其
最多
约数
个数。 // An highlighted block #include <bits/stdc++.h&...
最多
约数
问题
,求一个数的
约数
个数
C语言实现求
最多
约数
的数,数学分析
最多
约数
问题
发帖
C++ 语言
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
6.3w+
社区成员
25.0w+
社区内容
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2008-03-09 08:41
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下