Cod sursa(job #630492)

Utilizator bogdanrnRadu Bogdan Nicolae bogdanrn Data 5 noiembrie 2011 17:23:50
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>


using namespace std;

int main()
{
    ifstream f("ciur.in");
    ofstream g("ciur.out");
    int n=2;
    unsigned int i=2;
    int mult=2;
    int j=2;
    int nr=0;
    f>>n;
    bool x[n+1];

    while (j<=n){
        if (x[j]==false){
            nr++;
            x[j]=true;
            mult=j;
            if (j*j<=n){
                i=j*j;
                while (i<=n){
                    x[i]=true;
                    if (j*(mult+1)<=n)
                        {
                            i=j*(mult++);
                        } else {
                            break;
                        }
                }
            }
        } else {
            j++;
        }
    }
    g<<nr;
    return 0;
}