读书人

初学者 起步 求解惑

发布时间: 2012-05-13 16:39:43 作者: rapoo

菜鸟 起步 求解惑
#include <iostream>
using namespace std;
int main()
{
int i,j,a=0 ;
for(i=501;i<=799;i++);
for(j=2;j<=i-1;j++)
if (i%j==0) break;
if(j==i) a++;
cout<<"cnt="<<a<<endl;
return 0;
}
输出500到800间素数个数 求修改

[解决办法]

C/C++ code
#include <iostream>#include <math.h>using namespace std;bool IsPrime(int n){    bool bRet = true;    for (int i=2;i<=sqrt((double)n);i++)    {        if (n%i==0)        {            bRet = false;            break;        }    }    return bRet;}int main(){    int i,j,a=0 ;    for(i=501;i<=799;i++)    {        if(IsPrime(i)) a++;    }    cout<<"cnt="<<a<<endl;    return 0;}
[解决办法]
C/C++ code
#include <iostream>using namespace std;int main(){    int i,j,a=0,s=0,t=1 ;    for(i=501;i<=799;++i)    {        for(j=2;j<=i-1;++j)            if (i%j==0) break;            if(j==i)            {                a++;                s=s+t*i;                t=-t;            }    }    cout<<"cnt="<<a<<endl;    cout<<"s="<<s;  return 0;} 

读书人网 >C++

热点推荐