Cod sursa(job #1333699)

Utilizator stanciuandreiStanciulescu Andrei stanciuandrei Data 3 februarie 2015 14:57:42
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
long n, p, nr, ci, total;
int main()
{
    ifstream in("fractii.in");
    in>>n;
    in.close();
    p=2;
    for(int i=2;i<=n;i++)
    {
        ci=i;
        nr=i;
        p=2;
        while(ci!=1)
        {
            if(ci%p==0)
            {
                nr=nr*(p-1);
                nr=nr/p;
                while(ci%p==0)
                    ci/=p;
            }
            p++;
            //nr++;

        }
        nr*=2; //fiecare fractie poate fi inversata
        //cout<<i<<":"<<nr<<endl;
        total+=nr;
    }
    total++; //pentru 1/1
    ofstream out("fractii.out");
    out<<total;
    out.close();
    return 0;
}