Cod sursa(job #1289493)

Utilizator ghimpeleSeteanu Radu ghimpele Data 9 decembrie 2014 22:08:33
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>

const char IN[] = "fractii.in", OUT[] = "fractii.out";

int N, Rez;

int count( int x ) {

	int rez = 1, n = x;
    for ( int i = 2; i * i <= x; ++ i ) {

		int cnt = 0;
		while ( x % i == 0 ) {
			++ cnt;
			x /= i;
		}

		if ( cnt ) {
			n /= i;
			rez *= (i - 1);
		}
    }

    if ( x != 1 ) {
		n /= x;
		rez *= (x - 1);
    }

	return n * rez;
}

int main() {

	freopen(IN, "r", stdin);
	freopen(OUT, "w", stdout);

	scanf("%d", &N);

	for ( int i = 2; i <= N; ++ i )
		Rez += count(i);

	Rez = 2 * Rez + 1;

	printf("%d\n", Rez);
	return 0;
}