Mai intai trebuie sa te autentifici.
Cod sursa(job #342247)
| Utilizator | Data | 21 august 2009 00:37:37 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream.h>
#include <math.h>
#define MAXN 1000000
char C[MAXN];
long N;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
void ciur()
{
long i,j;
for(i=3;i<=sqrt(N);i=i+2)
if(C[(i-1)/2]==0)
for(j=i*i;j<=N;j=j+2*i)
C[(j-1)/2]=1;
}
int main()
{
fin>>N;
ciur();
long i,x;x=0;
for(i=0;i<=(N-1)/2;i++)
if(C[i]==0) {x=x+1; fout<<i*2+1<<" "<<C[i]<<" \n";}
fout<<x<<"\n";
fin.close();
fout.close();
return 0;
}
