Cod sursa(job #1010622)

Utilizator PsychoAlexAlexandru Buicescu PsychoAlex Data 15 octombrie 2013 12:55:55
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <fstream>

std::ifstream fin("ciur.in");
std::ofstream fout("ciur.out");

long n, nr;
bool vec[2000001];

void citire()
{
    fin>>n;
//    for(int i = 0; i < n; i+=2)
//    {
//        vec[i] = true;
//    }
}

bool isPrim(long p)
{
    for(int i = 2; i*i <= p; i++)
    {
        if(p % i == 0)
        {
            return false;
        }
    }
    return true;
}

void rezolvare()
{
//    nr++;
    for(int i = 2; i < n; i++)
    {
//        std::cout<<i<<' '<<isPrim(i)<<'\n';
            if(vec[i] == false)
           {
//                if(isPrim(i))
                {
                    nr++;
                    int j = i;
                    while(j < n)
                    {
                        vec[j] = true;
                        j += i;
                    }
                }
           }
    }
    fout<<nr<<'\n';
//    std::cout<<'\n'<<nr<<'\n';
}

int main()
{
    citire();
    rezolvare();
    return 0;
}