Cod sursa(job #412016)
/*Gigel, intr-o zi cand isi facea temele la matematica, s-a apucat sa scrie pe o foaie de hartie, un sir de fractii ireductibile de forma P/Q cu 1 ≤ P,Q ≤ N, unde N este un numar natural ales de el. De exemplu, pentru N = 4 el a obtinut urmatorul sir:
Gigel s-a apucat apoi sa numere cate fractii a obtinut pentru N = 4 si a vazut ca sunt 11.
*/
#include<fstream.h>
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long v[1000001];
long n;
long long i,j,count=0;
int main()
{
fin>>n;
for(i=2; i<=n; i++) v[i]=i-1;
for(i=2; i<=n; i++)
{
count+=v[i];
for (j=i*2;j<=n;j+=i) v[j]-=v[i];
}
count=(count*2)+1;
fout<<count;
fout.close();
return 0;
}