Cod sursa(job #1333699)
| Utilizator | 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;
}
