Cod sursa(job #1372812)
| Utilizator | Data | 4 martie 2015 15:28:03 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
ofstream g("ciur.out");
int i, j, k, prime[1000001], n;
int main()
{
freopen("ciur.in", "r", stdin);
scanf("%d", &n);
k = 1;
for(i=1; ((i * i) << 1) + (i << 1)<=n; i++)
if(prime[i] == 0)
for(j=((i*i) << 1) + (i << 1); (j << 1) + 1 <=n; j += (i << 1) + 1)
prime[j] = 1;
for(i=1; 2*i+1<=n; i++)
if(prime[i] == 0)
k++;
g<<k;
return 0;
}
