Cod sursa(job #2442205)

Utilizator MihaIonescuMihai Ionescu MihaIonescu Data 23 iulie 2019 11:48:59
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
using namespace std;

ifstream f ("fractii.in");
ofstream g ("fractii.out");

int v[1000001];

int main ()
{
    int i, j, n;
    long long nr = 0;
    f>>n;

    /** luam doar fractiile subunitare:
    1/2
    1/3, 2/3
    1/4, 2/4, 3/4, ..
    ...
    1/n, ... (n-1)/n
    */

    for (i=2; i<=n; i++)  //i = numitor
        v[i] = i-1;

    //triem

    for (i=2; i<=n; i++)
    {
        nr += v[i];
        for (j=2*i; j<=n; j+=i) ///elimina 2/4, 2/6, ...
            v[j] -= v[i];
    }

    g<<2*nr+1; ///cazul 1/1 + de 2* fractiile supraunitare (sunt simetrice, ex: 2/3, 3/2)
}