Cod sursa(job #786634)

Utilizator adascaluAlexandru Dascalu adascalu Data 11 septembrie 2012 17:49:08
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
using namespace std;
#include<fstream>
#include<vector>
#define dmax 1000001
vector<int>phi(dmax);
void calc_phi(int n)
{
	int i;
	phi[1]=1;
	for(i=2;i<=n;i++)
		phi[i]=i;
	for(i=2;i<=n;i++)
		if(phi[i]==i)
		for(int j=i;j<=n;j+=i)
			phi[j]*=(i-1),phi[j]/=i;
		
}
int main()
{
	int n,i;
	long long int nr=1;
	ifstream f("fractii.in");
	ofstream g("fractii.out");
	f>>n;
	calc_phi(n);
	for(i=2;i<=n;i++)
		nr+=2*phi[i];
	g<<nr;
	f.close();
	g.close();
}