Pagini recente » Cod sursa (job #361850) | Cod sursa (job #2598001) | Cod sursa (job #2527383) | Cod sursa (job #1326410) | Cod sursa (job #1075243)
#include <fstream>
#include <bitset>
#define Nmax 2000099
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int N,nr;
bitset < Nmax > v;
int main()
{
f>>N;
for(int i=2;i<=N;++i)
if(!v[i])
{
//salvez nr prim
++nr;// prim[nr]=i;
//bifez multiplii lui i, pe el in las. adica incep de la 2*i
//insa daca sta se ne gandim
//2*i,3*i,4*i,....,ASTIA au fost deja bifati cand i-am facut pe 2,3,4..
//deci pentru i incep cu multiplul (i-1)*i
for(int j=i*(i-1); j<=N; j+=i )v[j]=1;
}
g<<nr<<'\n';
return 0;
}