Cod sursa(job #891138)

Utilizator silidragosSilion Dragos silidragos Data 25 februarie 2013 13:56:18
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<iostream>
#include<fstream>
#include<vector>

using namespace std;

long n;
vector<long> fi;

int main()
{long i,j;
ifstream f("fractii.in",ios::in);
ofstream g("fractii.out",ios::out);

f>>n;
fi.resize(n+1,0);
for(i=1;i<=n;i++)
fi[i]=i;
for(i=2;i<=n;i++)
	if(fi[i]==i)
		for(j=i;j<=n;j+=i)
{fi[j]/=i;
fi[j] *= (i-1);}			
long long s=0;
for(i=1;i<=n;i++)
s+=fi[i];
s=s*2;
if(s)
s--;
g<<s;
g<<endl;

f.close();
g.close();
return 0;
}