Cod sursa(job #171312)

Utilizator vanila_CPPIonescu Victor Cristian vanila_CPP Data 3 aprilie 2008 23:46:57
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#define FIN "fractii.in"
#define FOUT "fractii.out"
#define MAX_N 1000000
using namespace std;
int n,phi[MAX_N+1];

int main(void){
        freopen(FIN,"rt",stdin);
        freopen(FOUT,"wt",stdout);
        scanf("%d\n",&n);
        fclose(stdin);
        for (int i=1;i<=n;i++){
                phi[i]=i-1;
        }
        for (int i=2;i<n;i++){
                int current=i;
                while (current+i<=n){
                        current+=i;
                        phi[current]-=phi[i];
                }
        }
        int rez=1;
        for (int i=2;i<=n;i++){
                rez+=2*phi[i];
        }
        printf("%d\n",rez);
        fclose(stdout);
        return 0;
}