新手请教一个关于程序的延展性的问题

qq_43672849 2019-03-16 09:17:02
想请教各位大神们为什么只能找到8128?而找不到33550336?是不是这个算法的问题还是别的
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_43672849 2019-03-20
  • 打赏
  • 举报
回复
引用 2 楼 qq_43672849 的回复:
引用 1 楼 qps2009 的回复:
应该是程序还没执行完,单独判断33550336这个数字可以发现这个数字是完全数,而且判断完全数的算法会随着数字的增大同时执行时间会越来越来久,单独判断33550336这个数字大概需要200ms左右,然后8128至33550336区间要执行(33550336-8128)次,平均每次执行时间假设要100ms左右,总执行时间也要(33550336-8128)*100ms,这个量级换算成小时怕是上百了,你的程序里N又这么大,所以执行时间就更久,建议再优化一下算法,或者用多线程去执行可能会得到想要的结果
感谢大佬
多线程还没有学
qq_43672849 2019-03-20
  • 打赏
  • 举报
回复
引用 1 楼 qps2009 的回复:
应该是程序还没执行完,单独判断33550336这个数字可以发现这个数字是完全数,而且判断完全数的算法会随着数字的增大同时执行时间会越来越来久,单独判断33550336这个数字大概需要200ms左右,然后8128至33550336区间要执行(33550336-8128)次,平均每次执行时间假设要100ms左右,总执行时间也要(33550336-8128)*100ms,这个量级换算成小时怕是上百了,你的程序里N又这么大,所以执行时间就更久,建议再优化一下算法,或者用多线程去执行可能会得到想要的结果
感谢大佬
qps2009 2019-03-18
  • 打赏
  • 举报
回复
应该是程序还没执行完,单独判断33550336这个数字可以发现这个数字是完全数,而且判断完全数的算法会随着数字的增大同时执行时间会越来越来久,单独判断33550336这个数字大概需要200ms左右,然后8128至33550336区间要执行(33550336-8128)次,平均每次执行时间假设要100ms左右,总执行时间也要(33550336-8128)*100ms,这个量级换算成小时怕是上百了,你的程序里N又这么大,所以执行时间就更久,建议再优化一下算法,或者用多线程去执行可能会得到想要的结果

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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