Cod sursa(job #2765702)

Utilizator luiz_felipeLuiz Felipe luiz_felipe Data 29 iulie 2021 17:08:54
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <fstream>
#define DIM_MAX 1000000
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int phi[DIM_MAX];
int main() {
	int n, i, j;
	for (f >> n, i = 1; i <= n; ++i) phi[i] = i;
	for (i = 2; i <= n; ++i) {
		if (i == phi[i]) {
			for (j = i; j <= n; j += i) {
				phi[j] /= i;
				phi[j] *= (i - 1);
			}
		}
	}
	int sol = 1;
	for (i = 2; i <= n; ++i) sol += 2 * phi[i];
	g << sol;
	f.close();
	g.close();
}