Cod sursa(job #1447024)

Utilizator losesUNIBUC Lacheta loses Data 3 iunie 2015 14:24:15
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <algorithm>
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;

const int inf = 0x3f3f3f3f, kMaxN = 1e6 + 5;

#define int64 long long

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

int phi[kMaxN];

int main() {
	int n; fin >> n;
	for (int i = 1; i <= n; ++i) {
		phi[i] = i - 1;
	}
	for (int i = 2; i <= n; ++i) {
		for (int j = i * 2; j <= n; j += i) {
			phi[j] -= phi[i];
		}
	}
	int64 sum = 0;
	for (int i = 1; i <= n; ++i) {
		sum += phi[i];
	}
	sum *= 2;
	sum++;
	
	fout << sum << '\n';
	return 0;
}