Cod sursa(job #2513718)

Utilizator EckchartZgarcea Robert-Andrei Eckchart Data 23 decembrie 2019 17:37:34
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
unsigned N;
unsigned phi[1000001];
long long S = 1;


void computeTotient()
{
for (long i=1;i<=N;i++) phi[i]=i;

for (long i=2;i<=N;i++)
   if (phi[i]==i)
      for (long j=i;j<=N;j+=i) phi[j] /=i, phi[j] *= (i-1);
}

int main()
{
    std::ifstream fisierIN("fractii.in");
    fisierIN >> N;
    fisierIN.close();

    computeTotient();
    for (unsigned i = 2; i <= N; ++i)
    {
        S += 2 * phi[i];
    }

    std::ofstream fisierOUT("fractii.out");
    fisierOUT << S;
    fisierOUT.close();
    return 0;
}