Cod sursa(job #281630)
| Utilizator | Data | 15 martie 2009 15:37:12 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <fstream.h>
long n,x=1,i;
void cit()
{ifstream f("fractii.in"); f>>n; f.close();}
void afis()
{ofstream g("fractii.out");
g<<x<<'\n'; g.close();}
long f(long n)
{long d=2,p=1;
while(d*d<=n)
{if(n%d==0)
{n/=d; p*=(d-1);
while(n%d==0) {p*=d; n/=d;}
}
d++;
}
if(n>1) p*=(n-1);
return p;
}
int main()
{cit();
for(i=2;i<=n;i++) x+=2*f(i);
afis();
return 0;
}
