Cod sursa(job #774140)

Utilizator toranagahVlad Badelita toranagah Data 3 august 2012 16:39:57
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>

using namespace std;

ifstream fin;
ofstream fout;

long long sieve[1000001];
int n;

int main(int argc, char const *argv[])
{
	fin.open( "fractii.in" );
	fin >> n;
	fin.close();

	long long result = 0;
	for( int i = 2; i <= n; ++i ) sieve[i] = i;
	for( int i = 2; i <= n; ++i )
	{
		if( sieve[i] == i )
			for( int j = i; j <= n; j += i )
			{
				sieve[j] /= i;
				sieve[j] *= ( i - 1 );
			}
		result += sieve[i];
	}
	result *= 2;
	++result;

	fout.open( "fractii.out" );
	fout << result;
	fout.close(); 
	return 0;
}