Cod sursa(job #586324)

Utilizator palcuiealexAlex Palcuie palcuiealex Data 30 aprilie 2011 15:06:25
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n;
const int NMAX = 1000004;
int v[NMAX];

void read_problem(){
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);

    scanf("%d",&n);
}

void eratosthene(){
    for(int i=1; i<=n; ++i)
        v[i]=i-1;
    for (int i=2; i<=n; ++i){
        for (int j=i*2; j<=n; j+=i)
            v[j]-=v[i];
    }
}

void solution(){
    unsigned long long sol=0;
    for (int i=1; i<=n; ++i)
    	sol+=v[i];
    cout<<2*sol+1;
}

int main()
{
    read_problem();
    eratosthene();
    solution();
    return 0;
}