Cod sursa(job #2269199)

Utilizator danielsociuSociu Daniel danielsociu Data 25 octombrie 2018 19:04:45
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
std::ifstream cin("fractii.in");
std::ofstream cout("fractii.out");
#define maxn 1000002
int n,S=0;

int phi(int x){
    if(x==1||x==2)
        return 1;
    if(x==3||x==4)
        return 2;
    int raspuns=x,aux=x;
    for(int i=2;i*i<=aux;i++){
        if(x%i==0){
            while(x%i==0)
                x/=i;//raspuns = raspuns*(1-1/p)
            raspuns -= raspuns/i; //raspuns=raspuns-raspuns/p
        }
    }
    if(x>1)
        raspuns-=raspuns/x;
    return raspuns;
}


int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        S=S+2*phi(i);
    cout<<S-1;
}