Cod sursa(job #877200)
| Utilizator | Data | 12 februarie 2013 17:51:31 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
int n,x=0;
char *b;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
void citire()
{
fin>>n;
b= new char[n+1];
for (int i=1; i<=n; i++)
{
b[i]='1';
}
}
void ciur()
{
for(int i=2; i*i<=n; i++)
if(b[i]=='1')
for(int j=2*i; j<=n; j+=i)
b[j]='0';
}
void afisare()
{
for(int i=1; i<=n; i+=2)
if(b[i]=='1')
x++;
fout<<x;
}
int main()
{
citire();
ciur();
afisare();
fin.close();
fout.close();
return 0;
}
