Cod sursa(job #2825361)

Utilizator SlavicGGuzun Veaceslav SlavicG Data 4 ianuarie 2022 16:51:34
Problema Fractii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include "bits/stdc++.h"
using namespace std;
 
#define ll long long
 
#define       forn(i,n)              for(int i=0;i<n;i++)
#define          all(v)              v.begin(), v.end()
#define         rall(v)              v.rbegin(),v.rend()
 
#define            pb                push_back
#define          sz(a)               (int)a.size()

int phi(int n) {
    int result = n;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            while (n % i == 0)
                n /= i;
            result -= result / i;
        }
    }
    if (n > 1)
        result -= result / n;
    return result;
}

void solve()
{ 
    ll n, ans = 0;
    cin >> n;
    for(int i = 2;i <= n; ++i){
        ans += 2 * phi(i);
    }
    cout << ans + 1;
}   
 
int32_t main(){
    freopen("fractii.in", "r", stdin);
    freopen("fractii.out", "w", stdout);
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
}