Cod sursa(job #2673736)

Utilizator Diana_IonitaIonita Diana Diana_Ionita Data 17 noiembrie 2020 16:39:56
Problema Fractii Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;
unsigned long long euler(int n)
{
    unsigned long long p,a,copie,i;
    p=n;
    copie=n;

    if(n%2==0)
    {
        p=p/2;
        while(n%2==0) n=n/2;
    }
    for(i=3; i*i<=n; i+=2)
    {
        if(n%i==0)
        {
            p=p/i;
            p*=(i-1);
            while(n%i==0) n=n/i;

        }
    }
    if(n>1)
    {
        p=p/n;
        p*=(n-1);
    }
    return p;
}
int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    unsigned long long i,n;
    unsigned long long sum=0;
    scanf("%llu",&n);
    for(i=2; i<=n; i++)
    {
        sum+=euler(i);
    }
    sum=sum*2;
    sum++;
    printf("%llu",sum);
    return 0;
}