Cod sursa(job #305297)

Utilizator iuly2freemanVasiliev Iulian iuly2freeman Data 16 aprilie 2009 21:23:03
Problema Fractii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#define NMAX 1024000

#include <fstream>

using namespace std;

ifstream fin("fractii.in");
ofstream fout("fractii.out");

int a[NMAX], n;

long long int sol;

int main()
{
	fin >> n;
	
	sol = 1;  
	for (int i = 2; i <= n; i++) a[i] = i;  
	
    for (int i = 2; i <= n / 2; i++)  
		if (a[i] == i)  
		    for (int j = 2; j <= (n / i); j++) a[i*j] = (a[i*j] * (i-1)) / i;  
	for (int i = 1; i <= n; i++)  
		if (a[i] == i) sol += (i - 1) * 2;  
		else sol += a[i] * 2;
	
	fout << sol; 
	
	fin.close();
	fout.close();
	
	return 0;
}