Mai intai trebuie sa te autentifici.

Cod sursa(job #3262912)

Utilizator Carnu_EmilianCarnu Emilian Carnu_Emilian Data 12 decembrie 2024 09:28:42
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fcin("fractii.in");
ofstream fcout("fractii.out");

const int N = 1e6 + 5;
int v[N];
int n;

void phi(int n)
{
    for (int i = 2; i <= n; i++)
        v[i] = i;
    for (int i = 2; i <= n; i++)
        if (v[i] == i)
            for (int j = i; j <= n; j += i)
                v[j] = (v[j] / i) * (i - 1);
}

void phiOptim(int n)
{
    for (int i = 2; i <= n; i++)
        v[i] = i - 1;
    for (int i = 2; i <= n; i++)
        for (int j = 2 * i; j <= n; j += i)
            v[j] -= v[i];
}

int main()
{
    long long rasp = 0;
    fcin >> n;
    phiOptim(n);
    for (int i = 2; i <= n; i++)
        rasp += v[i];
    rasp = 2 * rasp + 1;
    fcout << rasp;

    return 0;
}