Pagini recente » Cod sursa (job #661410) | Cod sursa (job #675625) | Cod sursa (job #291111) | Cod sursa (job #826786) | Cod sursa (job #2857562)
// Ciurul lui Eratosthenes.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <fstream>
#define LIM 2000006
std::ifstream fin("ciur.in");
std::ofstream fout("ciur.out");
using namespace std;
int N;
char ciur[LIM + 1];
int primes = 0;
void Eratostene()
{
for (int i = 0; i <= LIM; i++)
ciur[i] = '1';
ciur[0] = ciur[1] = '0';
for (int i = 4; i <= LIM; i += 2)
ciur[i] = '0';
for (int i = 3; i * i <= LIM; i += 2)
if (ciur[i] == '1')
for (int j = i; j * i <= LIM; j += 2)
ciur[j * i] = '0';
primes++;
for (int i = 3; i <= N; i += 2)
if (ciur[i] == '1')
primes++;
fout << primes;
}
int main()
{
fin >> N;
Eratostene();
return 0;
}