作业帮 > 综合 > 作业

计算并输出3到m之间所有素数的平方根之和.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/07 04:01:23
计算并输出3到m之间所有素数的平方根之和.
double fun(int m)
{
int n,k,i;
double sum=0.0;
for(n=3;n<=m;n++)
{
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0) break;
if(i>=k+1)
sum+=sqrt(n);
}
return sum;
}看不懂这个答案.为什么 k=sqrt(n);麻烦讲下 谢谢
判断一个整数m是否为素数,只需用2~根号m之间的每一个整数去除,如果都不能被整除,那么m就是一个素数.
再问: 为什么要从2——根号M之间去整除,而不是2——M之间,不是求所有素数的平方根之和吗,不应该是先判断是不是素数 在求它的平方根吗? 最后在求和啊???为什么呢
再答: 要从2——根号M之间去整除,就是在判断M是不是素数 。 所有素数的平方根之和的计算在 sum+=sqrt(n);