Cod sursa(job #761254)

Utilizator GoldEagleAndrei Iulian GoldEagle Data 25 iunie 2012 11:34:32
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

const int MAXSIZE = 1000000;
int N;
long long M;
int phi[MAXSIZE + 1];

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

long long compute(int n){
    computePHI(n);
    long long NR = 0;
    for(int i = 1; i <= n; i++){
        NR = NR + phi[i];
    }
    return 2 * NR + 1;
}

int main()
{
    M = 0;
    ifstream fin ("fractii.in");
    fin >> N;
    fin.close();

    ofstream fout ("fractii.out");
    fout << compute(N);
    fout.close();

    return 0;
}