Mai intai trebuie sa te autentifici.
Cod sursa(job #629652)
| Utilizator | Data | 3 noiembrie 2011 16:59:21 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
#include <cstring>
#define Nmax 1000005
using namespace std;
char v[Nmax];
long i,n,nr,j;
ifstream f("ciur.in");
ofstream g("ciur.out");
int main()
{
f>>n;
if(n>=2)
nr=1;
for(i=1;i<=n/2;i++)
v[i]='1';
for(i=1;((i<<1)+1)*((i<<1)+1)<=n;i++)
for(j=i;((j<<1)+1)*((i<<1)+1)<=n;j++)
v[((i<<1)+1)*((j<<1)+1)/2]='0';
for(i=1;i<=n/2;i++)
if(v[i]=='1')
nr++;
if(n%2==0)
--nr;
g<<nr;
f.close();
g.close();
return 0;
}
