Pagini recente » Cod sursa (job #2461918) | Cod sursa (job #317268) | Cod sursa (job #935770) | Cod sursa (job #2795672) | Cod sursa (job #270393)
Cod sursa(job #270393)
#include <fstream>
#include <math.h>
using namespace std;
int main()
{
char v[1000000];
long var,i,j,n,s,euler;
int f;
ifstream in("fractii.in");
ofstream out("fractii.out");
in>>n;
s=n;
for(i=2;i<=sqrt(n);i++)
j=i*i;
while(j<=n)
{
v[j]='x';
j=j+i;
}
for(i=2;i<=n;i++)
{
var=i;
euler=1;
for(f=0,j=2;j<=n;j++)
if(v[j]=='a')
{
while(var%j==0)
{var/=j;f++;}
euler=euler*(j-1)*pow(j,f-1);
}
s+=euler*n/i;
}
out<<s;
out.close();
in.close();
return 0;
}