Pagini recente » Cod sursa (job #2671677) | Cod sursa (job #3126922) | Cod sursa (job #1827499) | Cod sursa (job #1711638) | Cod sursa (job #1646984)
#include <stdio.h>
#include <stdlib.h>
int totient(int x)
{
int i;
float N=x;
for(i=2;i*i<=x;i++)
{
if(!(x%i))
{
while(!(x%i))
{
x/=i;
}
N*=(1.0-(1.0/(float)i));
}
}
if(x>1) N*=(1.0-(1.0/(float) x));
return N;
}
int fractii(int x)
{
int i,N=0;
for(i=2;i<=x;i++)
{
N+=totient(i);
}
return N*2+1;
}
int main()
{
int x;
FILE * fp=fopen("fractii.in","r");
FILE * g=fopen("fractii.out","w");
while(fscanf(fp,"%d\n",&x)!=EOF)
{
fprintf(g,"%d\n",fractii(x));
}
return 0;
}