Cod sursa(job #1009033)

Utilizator rucarRucareanu Alexandru rucar Data 12 octombrie 2013 13:18:05
Problema Fractii Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>


int putere(int a, int x)
{
	if (x == 0) return 1;
	else return a*putere(a, x - 1);
}

int indEuler(int n)
{
    int i = 2, t = 1, nr;
	while (n != 1)
	{
		nr = 0;
		if (n%i == 0)
		{
			while (n%i == 0)
			{
				n /= i;
				nr++;
			}
			t *= (i - 1)*putere(i, nr - 1);
		}
		i++;
	}
	return t;
}

int main()
{
	int n, i, j, nr = 0;
	FILE *f = fopen("fractii.in", "r"), *g = fopen("fractii.out", "w");
	fscanf(f, "%d", &n);
	for (i = 1; i <= n; i++)
	{
		if (i==1)
		   nr += indEuler(i);
		else nr += 2 * indEuler(i);
	}
	fprintf(g,"%d ", nr);
	fclose(f);fclose(g);
	return 0;
}