Cod sursa(job #2087468)

Utilizator MotoAMotoi Alexandru MotoA Data 13 decembrie 2017 18:28:25
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int v[2000001];
void ciur(int n) {
    v[1]=v[2]=1;
    for(int i=3; i<=n; i+=2) {
        if(!v[i]) {
            v[i]=v[i-2]+1;
            for(int j=2*i; j<=n; j+=i)
                v[j]=1;
        } else
            v[i]=v[i-2];
    }
}
int main() {
    int n;
    f>>n;
    ciur(n);
    if(n<2)g<<'0';
    if(n==2)g<<'1';
    else if(n%2==0)g<<v[n-1];
    else g<<v[n];
}