Pagini recente » Cod sursa (job #473909) | Borderou de evaluare (job #1540092) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #474069)
Cod sursa(job #474069)
#include <iostream.h>
#include<fstream.h>
ifstream f("fractii.in");
ofstream g("fractii.out");
unsigned long t,nr,a[1000000],i,j,n;
long double b[1000000];
void getfactor(long n)
{t=1;
for (int i = 2; i <= n; i++)
{
if (n % i == 0)
{
getfactor(n/i);
{b[t]=i;t++;}
break;
}
}
}
int phi(long n)
{int x=n,i;
getfactor(n);i=1;
while(i<=t)
{if(b[i-1]!=b[i]&&b[i]!=0)
{x=x*(b[i]-1)/b[i];}
i++;
}
for(i=1;i<=t;i++)b[i]=0;
return x;
}
int main()
{
f>> n;
for(j=2;j<=n;j++)
a[j]=phi(j);
for(i=1;i<=n;i++)
nr+=a[i];
g<<2*nr+1;
return 0;
}