Pagini recente » Cod sursa (job #2555976) | Cod sursa (job #1900098) | Cod sursa (job #1146992) | Cod sursa (job #907262) | Cod sursa (job #1660052)
#include <stdio.h>
#include <stdlib.h>
int totient(unsigned 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(unsigned int x)
{
unsigned int i,N=0;
for(i=2;i<=x;i++)
{
N+=totient(i);
}
return N*2+1;
}
int main()
{
unsigned 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;
}