Cod sursa(job #2753471)

Utilizator Victor280605Victor Dragos Victor280605 Data 22 mai 2021 23:02:43
Problema Ciurul lui Eratosthenes Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("ciur.in");
ofstream out("ciur.out");

int main()
{
    int n,i,multiplu,numarul;
    in >> n;
    int sir2[n+1]={1};
    for(i=1;i<=n;i++){
        sir2[i] = 1;
    }
    numarul = n - 1;
    for(i=2; i<=n; i++)
    {
        if(sir2[i] == 1)
        {
            multiplu = i;
            while(multiplu+i<=n)
            {
                multiplu += i;
                if(sir2[multiplu] == 1)
                {
                    numarul -= 1;
                }
                sir2[multiplu] = 0;
            }
        }
    }
    out << numarul;
}