Cod sursa(job #3345472)

Utilizator iccjocIoan CHELARU iccjoc Data 9 martie 2026 19:08:11
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
#define int long long int
using namespace std;

long long euler_indicator[1000001];

int32_t main()
{
    ifstream cin("fractii.in");
    ofstream cout("fractii.out");
    for(int i = 1; i <= 1000000; i++)
    {
        euler_indicator[i] = i;
    }
    for(int i = 2; i <= 1000000; i++)
    {
        if(euler_indicator[i] == i)
        {
            euler_indicator[i]--;
            for(int j = i * 2; j <= 1000000; j += i)
            {
                euler_indicator[j] = euler_indicator[j] / i * (i - 1);
            }
        }
    }
    int n;
    cin >> n;
    int ans = 0;
    for(int i = 2; i <= n; i++)
    {
        ans += euler_indicator[i];
    }
    cout << ans * 2 + 1 << "\n";
}