Cod sursa(job #767567)

Utilizator alin.hurubaHuruba Dumitru Alin alin.huruba Data 13 iulie 2012 20:30:16
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;

ifstream fi;
ofstream fo;

unsigned int phi[1000001];
int n;
int suma;

int main(){
    fi.open("fractii.in");
    fi >> n;
    fi.close();

    for (int i = 0; i <= n; i++){
        phi[i] = i;
    }

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

    suma = 0;
    for (int i = 2; i <= n; i++){
        suma += 2*phi[i];
    }
    suma++;

    fo.open("fractii.out");
    fo << suma;
    fo.close();
    return 0;
}