Cod sursa(job #1422967)
| Utilizator | Data | 20 aprilie 2015 16:25:15 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.73 kb |
#include <iostream>
#include <fstream>
#include <cstdio>
#include <vector>
#include <cstdlib>
#include <math.h>
using namespace std;
int main()
{
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
int n;
scanf("%i", &n);
vector<bool> a;
a.resize(n);
for(int i = 0; i < n; i++)
{
a[i]=0;
}
for(int i = 2; i < sqrt(n); i++)
{
if(a[i]!=1)
{
for(int j = i*2; j < n; j+=i)
{
a[j]=1;
}
}
}
int nr=0;
for(int i = 2; i < n; i++)
{
if(a[i]!=1)
{
nr++;
}
}
printf("%i", nr);
return 0;
}
