Cod sursa(job #372428)

Utilizator titusuTitus C titusu Data 10 decembrie 2009 00:24:23
Problema Fractii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <fstream>
using namespace std;

int fi(int n){
	int produs=n;
	int p=0,d=2;
	while(n%d==0)
		p++, n /= d;
	if(p)
		produs = produs/d*(d-1);
	d=3;
	while(n>1){
		p=0;
		while(n%d==0)
			n /= d, p++;
		if(p)
			produs = produs/d*(d-1);
		d+=2;
		if(d*d > n && n>1)
			d=n;
	}
	return produs;
}

int main(){
	ifstream fin("fractii.in");
	int n;
	fin>>n;
	long long int sum=1;
	for(int i=2;i<=n;i++)
		sum+= 2 * fi(i);
	ofstream fout("fractii.out");
	fout<<sum<<endl;
	return 0;
}