double fun(int n)
{
int m,k,i;
double s=0.0;
for(m=3;m<=n;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>=k+1)
s+=sqrt(m);
}
return s;
}
c语言素数的判断中 if(i>=k+1)有什么用,请教大神说明下,看不懂这句话
答案:2 悬赏:30 手机版
解决时间 2021-02-23 12:35
- 提问者网友:战魂
- 2021-02-22 11:46
最佳答案
- 五星知识达人网友:春色三分
- 2021-02-22 12:37
如果中途break了,i的值就达不到k+1。这只是用来判断每个i都被测试了一遍。不过这样写不如弄个flag标识。可读性差。
全部回答
- 1楼网友:逐風
- 2021-02-22 13:00
-----------来自华夏联盟-----------
我没有太过细看,不过编译没错,链接出错,应该是你定义main是int的 应该最结尾加上return 0;
还有问题可以继续问我
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯