Cod sursa(job #1148652)

Utilizator 1w1pOneWOneP 1w1p Data 20 martie 2014 22:53:20
Problema Fractii Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
# include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");

int n, i;
long long rez = 0;

int EulerTotient(int n){
	int phi = n, i;
	for (i = 2; i*i <= n; ++i){
		if (n%i == 0){
			phi /= i;
			phi *= (i - 1);
			while (n%i == 0)
				n /= i;
		}
	}
	if (n > 1){
		phi /= n;
		phi *= (n - 1);
	}
	return phi;
}

int main(){
	f >> n;
	for (i = 1; i <= n; ++i)
		rez += EulerTotient(i);
	g << 2*rez - 1 << "\n";
	g.close(); f.close();
	return 0;
}