首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初学者 起步 求解惑

2012-05-13 
菜鸟起步 求解惑#include iostreamusing namespace stdint main(){int i,j,a0 for(i501i799i++)

菜鸟 起步 求解惑
#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;} 

热点排行