Cod sursa(job #2515787)

Utilizator nicolaee2Martinescu Nicolae nicolaee2 Data 29 decembrie 2019 15:44:16
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 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;

}