Cod sursa(job #1661487)

Utilizator ArkinyStoica Alex Arkiny Data 23 martie 2016 21:50:48
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
#include <fstream>
#include<algorithm>
#include<vector>
using namespace std;

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

int N;
int a[1000010];

int cmmdc(int a, int b)
{
	while (b)
	{
		int r = (a%b);
		a = b;
		b = r;
	}
	return a;
}

int main() {

	long long r = 0;
	in >> N;

	for (int i = 2;i <= N;++i)
	{
		int j = 0;
		for (j = i + i;j <= N;j+=i)
		{
			a[j] += 1;
			r += (i - 1 - a[i])*2;
		}
		if (j>N)
		{
			for (int k = j - i;k <= N;++k)
				if (cmmdc(k, i) == 1)
					r+=2;
		}
	}
	out << r-1+N*2;

	return 0;
}