Формування масиву простих чисел від 2 до n.
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{int s,k,m,n,j,r; bool b;
cin>>n;
if( n<=200)
r=(int)(1.6*n/log(n))+1;
else
r=(int)(n/(log(n)-2))+1;
int pr[r];
pr[0]=2;pr[1]=3; j=2;m=3;
do
{m+=2;b=1;k=1;s=(int)(sqrt(m)+0.1);
while(b && pr[k]<=s)
if(m%pr[k]==0)
b=0;
else
k++;
if(b){ pr[j]=m;j++;}
}
while(m<=n-2);
int i;
for(i=0;i<j;i++) cout<<pr[i]<<" ";
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Немає коментарів:
Дописати коментар