Pagini recente » Cod sursa (job #1615756) | Cod sursa (job #1719911) | Cod sursa (job #1628146) | Cod sursa (job #1618846) | Cod sursa (job #1618847)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int phiEuclid(int n)
{
float result = n;
int p;
for (p = 2; p <= sqrt(n); p++)
{
if (n % p == 0)
{
while (n % p == 0)
n /= p;
result *= (1.0 - (1.0 / (float) p));
}
}
if (n > 1)
result *= (1.0 - (1.0 / (float) n));
return (int)result;
}
int main()
{
FILE *in, *out;
in = fopen("fractii.in", "r");
int n, nrFrac = 0, i;
if(fscanf(in, "%d", &n))
fclose(in);
for(i = 2; i <= n; i++)
{
nrFrac += phiEuclid(i);
}
nrFrac = nrFrac * 2 + 1;
out = fopen("fractii.out", "w");
if(n == 0)
fprintf(out, "%d", 0);
else
fprintf(out, "%d", nrFrac);
fclose(out);
return 0;
}