Cod sursa(job #2749017)

Utilizator MciprianMMciprianM MciprianM Data 4 mai 2021 17:52:19
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <vector>

static constexpr int MAXN = 1000009;
static constexpr int MAXD = 10;
int v[MAXN][MAXD];
int sz[MAXN];

int main()
{
	std::ifstream f("fractii.in");
	int n;
	f >> n;
	f.close();
	long long sum = 1;
	for (int i = 2; i <= n; i++)
	{
		if (sz[i] == 0)
		{
			for (int j = i; j <= n; j += i)
			{
				v[j][sz[j]++] = i;
			}
		}
		int s = sz[i];
		long long t = i;
		for (int j = 0; j < sz[i]; j++)
		{
			t *= (v[i][j] - 1);
			t /= v[i][j];
		}
		sum += t * 2;
	}
	std::ofstream g("fractii.out");
	g << sum << std::endl;
	g.close();
	return 0;
}