我的程序能够判断完全数,但是当遇到很大的数的时候程序运行时间就会很长,求优化的程序
2条回答 默认 最新
- 快乐鹦鹉 2022-10-18 20:03关注
首先是有错误,第8行循环i不能从0开始,否则num%i就出问题了
优化如下:int k = sqrt(num); for(int i=1;i<=k;i++) { if(num%i==0) { res += i; if(i*i != num) res += num/i; } }
只需要num开根号次数,大大减小了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 python的qt5界面
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100