Pagini recente » Cod sursa (job #1977012) | Cod sursa (job #537164) | Cod sursa (job #1051600) | Cod sursa (job #3249601) | Cod sursa (job #2464704)
#include <iostream>
#include<cstdio>
FILE * f=fopen("fractii.in","r");
FILE * g=fopen("fractii.out","w");
using namespace std;
int n;
int gcd(int x,int y)
{
if(x==y)
return x;
if(x>y)
return gcd(x-y,y);
return gcd(x,y-x);
}
int nrp(int k)
{ int i,s=0;
if(k==1)
return 1;
else
{
for(i=1;i<=k;i++)
{
if(gcd(k,i)==1)
s++;
}
return nrp(k-1)+2*s;
}
}
int phi[1000000];
int main()
{ int t=0,i;
fscanf(f,"%d",&n);
for (int i = 1; i <= n; ++i)
phi[i] = i-1;
for (int i = 2; i <= n; ++i)
for (int j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
for(i=1;i<=n;i++)
t=t+2*phi[i];
fprintf(g,"%d",t+1);
return 0;
}