正整数x的约数是能够整除x的正整数,正整数x的约数个数计为div(x),例如1,2,5,10的约数即div(10)=4;
设a,b是两个正整数,a <=b,找出a和b之间的一个数,这个数含有约数个数最多!我原来的想法就是从a到b每一个数都进行一次判断,而且每次判断的时候都是是从2开始进行,例如:这个数是8,就这样判断:8%2,8%3,8%4,8%5,8%6,8%7, 再加上1和它本身两个,div(8)=4,但是这样效率太低了,我想用一个比较高效的算法实现,哪位能够指点一下!谢谢了!
最多约数问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- xdspower 2008-09-11 11:03关注
(未验证,一个思路)
理论依据:一个数的约数除了1和本身外都是一个或者多个质因数的乘积,
比如8=2×2×2
又如12=2×2×3
这样其约数就是质数因子的组合乘积(除重复的以外)和1以及自身。
比如8有1, 2,2×2,8
12有 1,2,3,2×2,2×3,12
这样问题就转换成3部,
1.对数字作质数分解
2.对分解的质数作组合乘积,并剔除重复数进行计数
3.比较计数结果得出解本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
- ¥20 matlab yalmip kkt 双层优化问题
- ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
- ¥88 实在没有想法,需要个思路
- ¥15 MATLAB报错输入参数太多
- ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
- ¥15 有赏,i卡绘世画不出
- ¥15 如何用stata画出文献中常见的安慰剂检验图
- ¥15 c语言链表结构体数据插入