Cod sursa(job #1618838)

Utilizator alexxchAlex Chirita alexxch Data 28 februarie 2016 00:43:12
Problema Fractii Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.67 kb
#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;
	fscanf(in, "%d", &n);
	fclose(in);
	for(i = 1; i <= n; i++)
	{
		nrFrac += phiEuclid(i);
	}
	nrFrac += n + 1;	
	out = fopen("fractii.out", "w");
	fprintf(out, "%d", nrFrac);
	fclose(out);
	return 0;
}