作业帮 > 综合 > 作业

关于素数的判断中条件为什么是half=i/2;是不是根据什么数学方法

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/16 18:04:35
关于素数的判断中条件为什么是half=i/2;是不是根据什么数学方法
判断100-1000中间的素数个数
int i,j,cnt=0;
int half=i/2;
for(i=101;i
关于素数的判断中条件为什么是half=i/2;是不是根据什么数学方法
素数是指不能被除1和自身以外的自然数整除的数.那为什么half=i/2 举例来说吧:以500为例,500/2=250,那超过250的数字(251-499),肯定无法整除500了,那要计算500能不能被一个数整除,其取值范围只需要从2到250就可以了,250以上就不需计算了.
实际上这段代码有问题的,而且也不是最简算法.int half=i/2;应该放在i的循环内,每个i的值都要重新计算half=i/2.而最简的算法,应该是half=(int)sqrt()