正整数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 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog