Cod sursa(job #264169)
Utilizator | Data | 21 februarie 2009 17:14:49 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<fstream.h>
long int n,p,fr,x,nr;
float phi;
int main()
{
ifstream in("fractii.in");
ofstream out("fractii.out");
in>>n;
for(nr=2;nr<=n;nr++)
{
phi=x=nr;
if(!(x%2))
{
while(!(x%2)) x/=2;
phi/=2;
}
p=3;
while(x>1)
{
if(!(x%p))
{
while(!(x%p)) x/=p;
phi*=(1.0-1/(float)p);
}
p+=2;
}
fr+=phi;
}
out<<fr*2+1;
return 0;
}