Pagini recente » Cod sursa (job #1268378) | Cod sursa (job #2249101) | Cod sursa (job #637275) | Cod sursa (job #358219) | Cod sursa (job #2177910)
#include <fstream>
using namespace std;
ifstream cin("fractii.in");
ofstream cout("fractii.out");
int euler(int x)
{
if(x==1)
return 1;
int s=2*x;
if(x%2==0)
{
s/=2;
while(x%2==0)
x/=2;
}
int d=3;
while(x!=1 && d*d<=x)
{
if(x%d==0)
{
s/=d;
s=s*(d-1);
while(x%d==0)
x/=d;
}
d+=2;
}
if(x!=1)
{
s/=x;
s=s*(x-1);
}
return s;
}
int main()
{
int n;
long long s=0;
cin >> n;
for(int i=1; i<=n; i++)
{
s=s+euler(i);
}
cout << s;
return 0;
}