Cod sursa(job #1487597)
Utilizator | Data | 17 septembrie 2015 08:28:54 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
int n;
bitset<2000005> b;
void solve()
{
b[1]=1;
int nr=0;
for(int k=2;k<=n;k++)
if(b[k]==0)
{nr++;
for(int i=k;i<=n;i+=k)
b[i]=1;}
printf("%d ",nr);
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d ",&n);
solve();
return 0;
}