Cod sursa(job #1766415)

Utilizator ilie.danilaIlie Teodor Danila ilie.danila Data 27 septembrie 2016 22:04:01
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
//
// Created by Ilie Danila on 27/09/2016.
//

#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int N;

int main()
{
    ifstream fin("fractii.in");
    fin >> N;
    fin.close();

    vector<int> phi(1000001);
    for (int i = 1; i <= N; i++)
        phi[i] = i - 1;
    for (int i = 2; i <= N; i++)
    {
        for (int j = 2 * i; j <= N; j+=i)
        {
            phi[j] -= phi[i];
        }
    }

    int64_t result = 1;
    for (int i = 2; i <= N; i++)
        result += (2 * phi[i]);

    ofstream fout("fractii.out");
    fout << result << "\n";
    fout.close();

    return 0;
}