作业帮 > 数学 > 作业

这100内的10个最大素数和是怎么通过这个函数实现的啊,看不懂.

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/16 17:13:09
这100内的10个最大素数和是怎么通过这个函数实现的啊,看不懂.
 
素数就是除了1和本身以外,没有其他的数能整除.最朴素的方法就是yes=1;
for(i=2;i<high;i++)
{
    if(high%i==0)
    {
        yes=0;
        break;
    }
}break是强制跳出for循环.意思是当high能被i整除的时候就跳出循环;high能被i整除就说明high不是素数.之后判断yes,当yes=1时说明n是素数.求和sum=sum+high,计数器n加1.之后high--等价于high=high-1,相当于100向下逐渐询问.while判断中n<10时判断是否已经找到10个素数了.
再问: 为什么这里是i<high/2
再问: 不明白这种取半法来判断素数。。。。╯﹏╰
再答: 对于high这个数,我们定义m=√high,若存在一个因子x>m,那么必定存在y,x*y=high,那么ym,那么枚举2~high/2也能满足要求