Cod sursa(job #2211743)

Utilizator Alex03Runcan Alexandru Alex03 Data 11 iunie 2018 16:49:32
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int phi (int n)
{
    float result  = n;// Initialize result as n because n ill lost his value;
    for (int i = 2; i*i <= n; i++)
    {
        if (n % i == 0)
        {
            while (n % i == 0)
            {
                n /= i;
            }
            result *= (1.0 - (1.0 / (float)i));
        }
    }
    if (n > 1)
    {
        result *= (1.0 - (1.0 / (float)n));
    }
    return (int)result;
}

int main ()
{
    int n,ind;
    fin >> n;
    long long nr = n;
    for (int i = 2; i <= n; i++)
    {
        ind = phi (i);
        if (i != n ) nr += ind +(n - (n/i + ind));
        else nr += ind;
    }
    fout << nr;
    return 0;
}