Cod sursa(job #1608291)
| Utilizator | Data | 21 februarie 2016 22:51:09 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int n,i,c,a,nr=0;
char v[1000000000];
int main ()
{
f>>n;
for (int(i=2);i<=n;i++)
{
v[i]='0';
}
for (int(i=2);i<=sqrt(n);i++)
{
if (v[i]!='1')
{a=i*2;
c=2;
while (a<=n)
{
v[a]='1';
c++;
a=i*c;
}
} }
for (int(i=2);i<=n;i++)
{
if (v[i]=='0') nr++;
}
g<<nr<<endl;
}
