Cod sursa(job #3154025)

Utilizator octavian1234Galatanu Octavian octavian1234 Data 2 octombrie 2023 18:52:20
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
/*#include <iostream>
#include <fstream>

using namespace std;

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

int Phi(int n)
{
    int nr = n;
    for(int d = 2; d * d <= n; d++)
        if(n % d == 0)
        {
            nr = nr / d * (d - 1);
            do
            {
                n /= d;
            }
            while(n % d == 0);
        }
    if(n > 1)
        nr = nr / n * (n - 1);
    return nr;
}

int main()
{
    long long n, s = 0;
    f >> n;
    for(int i = 1; i <= n; i++)
    {
        s = s + Phi(i);
    }

    g << 2 * s - 1;

    f.close();
    g.close();
    return 0;
}
*/
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("fractii.in");
ofstream g("fractii.out");
int Euler[1000001];

int main()
{
    int N, i, j;
    long long int Sol = 0;
    f >> N;
    for(i = 2; i <= N; i++)
        Euler[i] = i;
    for(i = 2; i <= N; i++)
    {
        if(Euler[i] == i)
            for(j = i; j <= N; j += i)
                Euler[j] = Euler[j] / i * (i - 1);
        Sol += Euler[i];
    }
    g << 2 * Sol + 1;
    f.close();
    g.close();
    return 0;
}