Cod sursa(job #1670050)

Utilizator alittlezzCazaciuc Valentin alittlezz Data 31 martie 2016 13:27:44
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#include <math.h>
#include <algorithm>
using namespace std;

#define pb push_back
#define mp make_pair
#define ll long long unsigned

int phi[1000005];

int main() {
    freopen("fractii.in", "r", stdin);
    freopen("fractii.out", "w", stdout);
    ll ans = 1;
    int i,j,n;
    scanf("%d",&n);
    for(i = 2;i <= n;i++){
        phi[i] = i;
    }
    for(i = 2;i <= n;i++){
        if(phi[i] == i){
            for(j = i;j <= n;j += i){
                phi[j] /= i;
                phi[j] *= i-1;
            }
        }
        ans += 2*phi[i];
    }
    printf("%llu\n",ans);
    return 0;
}