Cod sursa(job #2780992)

Utilizator lolismekAlex Jerpelea lolismek Data 8 octombrie 2021 11:28:42
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>
#define VMAX 1000002
using namespace std;
unsigned long long phi[VMAX];

int main()
{
    unsigned long long i, n, j, rasp;
    ifstream fin;
    fin.open("fractii.in");
    fin >> n;
    fin.close();

    ///utilizam indicatorul lui euler
    phi[1] = 1;
    for(i = 2; i <= n; i++)
    {
        phi[i] = i;
    }
    for(i = 2; i <= n; i++)
    {
        if(phi[i] == i)
        {
            for(j = i; j <= n; j += i)
            {
                phi[j] = phi[j] / i * (i - 1);
            }
        }
    }

    rasp = 1;
    for(i = 2; i <= n; i++)
    {
        rasp = rasp + (phi[i] * 2);
    }

    ofstream fout;
    fout.open("fractii.out");
    fout << rasp;
    fout.close();
    return 0;
}