最多约数问题

weizhenhua 2008-03-09 08:41:27
问题描述:两个数(a,b)之间求一个数,使得该数的约数最多。

各位高手有没有更好的方法使得该问题的效率很高,使得程序在1秒内得出结果,如a,b分别取1,10000000000,程序结束的时间为1秒之内。。 求救啊!!!!!!
...全文
816 10 打赏 收藏 举报
写回复
用AI写文章
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之内应该能出解。楼主试试看。
内容概要:本文研究了计及需求侧响应的日前、日内两阶段鲁棒备用优化问题,提出了一种基于数据驱动的两阶段分布鲁棒优化方法,结合1-范数和∞-范数构造不确定性集合,有效刻画风电、光伏出力及负荷等多重不确定因素的波动特性。研究构建了电热综合能源系统的联合优化模型,通过协调日前调度计划与日内实时调整,充分发挥需求侧响应资源的灵活调节能力,提升系统在不确定性环境下的备用充裕性与运行鲁棒性,并采用Matlab进行建模与仿真验证,结果表明该方法在保障系统安全的同时显著改善了经济性。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员,以及从事新型电力系统调度、综合能源系统规划与运行的工程技术人员。; 使用场景及目标:①应用于高比例可再生能源接入背景下电力系统备用容量的优化配置;②为综合能源系统在多重不确定性下的鲁棒调度提供决策支持;③支撑需求侧资源参与系统辅助服务的机制设计与仿真验证,推动源荷互动协调发展。; 阅读建议:建议读者结合Matlab代码深入理解两阶段鲁棒优化的建模过程,重点关注不确定性集构建、鲁棒约束转化及C&CG等求解算法的实现细节,可进一步拓展至其他分布鲁棒优化形式或耦合更多能源形式的综合能源系统场景。

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧