Cod sursa(job #2981911)

Utilizator pmih12Petrache Mihnea pmih12 Data 19 februarie 2023 00:36:23
Problema Fractii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<iostream>
#include<fstream>
#include<cmath>
#include<algorithm>
#define ull unsigned long long int
using namespace std;

ifstream f("fractii.in");
ofstream g("fractii.out");

int totient(int n)
{
    int f=2, p;
    float t=(float)n;
    while(n>1)
    {
        p=0;
        while(n%f==0)
            p++, n/=f;
        if(p)
            t*=(float)(1-1.0/f);
        f++;
        if(n>1&&f*f>n)f=n;
    }
    
    return floor(t);
}

ull numara(int x)
{
    ull q=2*x-1;
    for(int i=2;i<=x;++i)
    {
        q+=totient(i)-1;
        for(int j=i+1;j<=x;++j)
            if(__gcd(i, j)==1)++q;
    }
    return q;
}

int main()
{
    int x;cin>>x;
    cout<<numara(x)<<'\n';
    return 0;
}