有点不太明白 为什么for遍历的值是(2,num//2+1)而不是(2,num)
因为数学基础太差了 看百度质数就是不能被1和自己整除嘛
有点不太明白 为什么for遍历的值是(2,num//2+1)而不是(2,num)因为数学基础太差了 看百度质数就是不能被1和自己整除嘛
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- ShowMeAI 2023-01-09 15:08关注
对于一个数 num,如果它是一个质数,那么它的因数一定是小于等于 num/2 的,因此只需要遍历小于等于 num/2 的数即可。
例如,对于数字 15,它的因数有 1、3、5、15,因此我们只需要判断 2 到 8 之间的数是否为 15 的因数即可。
当然,也可以将遍历的范围设置为 (2,num),但这样会增加一些不必要的运算,例如对于 15,就会多判断大于8因数。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥66 换电脑后应用程序报错
- ¥50 array数据同步问题
- ¥15 pic16F877a单片机的外部触发中断程序仿真失效
- ¥15 Matlab插值拟合差分微分规划图论
- ¥15 keil5 target not created
- ¥15 C/C++数据与算法请教
- ¥15 怎么找志同道合的伙伴
- ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
- ¥50 爬虫预算充足,跪巨佬
- ¥15 滑块验证码拖动问题悬赏