#include<iostream>
#include<ctime>
using namespace std;
int main()
{
clock_t start,finish;
start=clock();
int temp;
int i,j,k,p=0;
bool a[100001];
/*int b[30000];*/
for( i=0;2*i+3<=10000;i++)
a[i]=true;
for(j=0;j<i;j++)
{
if(a[j])
{
cout<<2*j+3<<endl;
for(k=j*(2*j+6)+3;k<i;k+=(2*j+3))
a[k]=false;
}
}
finish=clock();
cout<<(double)(finish-start)/CLOCKS_PER_SEC;
/* for(int s=0;s<p;s++)
cout<<b[s]<<endl;*/
return 0;
}
这组代码是要干什么的,我也不懂!
应该是堆栈溢出了,定义数组不能太大的。记得 VS 系列的默认值是 65536,比这个数值大,程序直接崩溃。
什么错误,如果数组大到没有足够空间存放,就会出错,或者访问数组越界
应该是求得的素数太大,超过了int型最大
程序蹦的时候,点重试,然后看看代码断在了哪一行
我求的是10 0000内的所有素数,就一个bool数组,开了10 0000,不大吧,我也试过开10 0000的一半多一点的