Cod sursa(job #2780716)

Utilizator YusyBossFares Yusuf YusyBoss Data 7 octombrie 2021 19:05:09
Problema Fractii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#define NMAX 1000000

using namespace std;

ifstream cin ("fractii.in");
ofstream cout ("fractii.out");

int phi(int val) {
  int d, exp, rez;

  d = 2;
  rez = val;
  while (d * d <= val) {
    exp = 0;
    while (val % d == 0) {
      exp++;
      val /= d;
    }

    if (exp > 0)
      rez = rez / d * (d - 1);

    d++;
  }

  if (val > 1)
    rez = rez / val * (val - 1);

  return rez;
}

int main() {
  int n, i, j;
  long long sol;
  cin >> n;

  sol = 1;
  for (i = 2; i <= n; i++)
    sol += 2 * phi(i);
  cout << sol;
  return 0;
}