Cod sursa(job #2694964)

Utilizator razviOKPopan Razvan Calin razviOK Data 11 ianuarie 2021 10:35:05
Problema Fractii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
long long N,sum=1;
long long phi[1000000];
int main()
{
    f>>N;
    for(int i=2;i<=N;i++)
        phi[i]=i-1;            //pentru N>=2 pot forma N-1 cu N ca numitor fractii reductibile si ireductibile(fara inverse)
    for(int i=2;i<=N;i++)
    {
        for(int j=2*i;j<=N;j+=i)
            phi[j]-=phi[i];        //daca j este multiplu de i atunci scad din nr de fractii ale lui j nr de fractii ale lui i

       sum+=phi[i];
    }

    g<<2*sum-1;       //2*nr de fracii(se iau si inversele) si -1(1/1 sa nu il numar de doua ori)

    return 0;
}