Cod sursa(job #2506507)

Utilizator SnokySlivilescu Vlad Snoky Data 8 decembrie 2019 12:19:54
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
#include <cmath>
using namespace std;

ifstream fin("fractii.in");
ofstream fout("fractii.out");

int indicator(int n) {
    int indicator = 1;
    int d = 2;
    while(d * d <= n) {
        int p = 0, nb = 1;
        while(n % d == 0) {
            n /= d;
            nb *= d;
            p++;
        }
        if(p > 0) {
            indicator *= (d - 1) * (nb / d);
        }
        d++;
    }
    if(n != 1) {
        indicator *= (n - 1);
    }
    return indicator;
}

int main() {
    int n, sol = 1;
    fin >> n;
    for(int i = 2; i <= n; i++)
        sol += indicator(i) * 2;
    fout << sol;
}