Cod sursa(job #232837)

Utilizator cipri_tomCiprian Tomoiaga cipri_tom Data 16 decembrie 2008 09:07:04
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
// CIURUL LUI ERATOSTENE
#include <fstream.h>
#include <string.h>

bool ok[2000000];

int main()
{
    int n, i, j, p = 0;
    ifstream fin("ciur.in");
    fin >> n;
    fin.close();
    ofstream fout("ciur.out");
    for ( i = 0; i < n; ++i )
    	ok[i] = true;
	for ( i = 2; i*i < n; ++i )
		if ( ok[i] )
		{
		    j = 2;
		    while ( i * j <= n )
		    {
		        ok[i*j] = false;
		        j++;
		    }
  		}
    for ( i = 2; i <= n; ++i )
    	if ( ok[i] )
     		p++;
	fout << p;
    fout.close();
    return 0;
}