大家好,可以帮我改一下下面的程序吗? 下面的程序是求[20,700]之间所有的素数的个数。

#include
#include
int prime(int n)
{ int yes, i;
if(n<=1) {return 0;}
yes=1;
for(i=2; i<=sqrt(n); i++)
if(n%i==0){ yes=0; break;}
/*************found**************/
return yes;
}
void main()
{ int count=0, i;
for(i=20;i<=700; i++)
/*************found**************/
if(prime(i)) count+=i;
printf("%d\n", count);
}

3个回答

参考一下求素数:

 bool isPrime(int n)
{
    if(n < 2) return false;

    for(int i = 2; i < n; ++i)
        if(n%i == 0) return false;

    return true;
}
 if(prime(i)) count+=i;
->
if(prime(i)) count+=1;


你那个是求这些素数的和了。

立即提问
相关内容推荐