Cod sursa(job #627453)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 29 octombrie 2011 23:42:57
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream>
using namespace std;

int main(){
	ifstream fin ("ciur.in");
	ofstream fout ("ciur.out");
	int i, j, N, nr=1, k;
	fin >> N;
	int jum = N % 2 == 0 ? N / 2 - 1 : N / 2;
	char v[jum+1]; 
	
	for (i = 1; i <= jum; i++) v[i] = '1';
	for (i = 1; i <= jum; i++)
		if (v[i] == '1'){
		nr++;
		k = i * 2 + 1;
		for (j = 3 * k; j <= N ; j += 2*k)
			v[j / 2] = '0';
		}
	
	fout<<nr<<"\n";
	fout.close();
	return 0;
}