Cod sursa(job #2076974)
Utilizator | Daniel Danielznaceni | Data | 27 noiembrie 2017 15:46:49 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n, i, j, cate=0;
char v[2000001];
fin>>n;
for(i=1; i<=n; i++)
{
v[i]='1';
}
v[1]='0';
for(j=2; j<=n; j++)
{
if(v[j]=='1')
{
for(i=2; i*j<=n; ++i)
{
v[i*j]='0';
}
}
}
for(i=2; i<=n; i++)
{
if(v[i]=='1')
{
++cate;
}
}
fout<<cate;
return 0;
}