Pagini recente » Cod sursa (job #808417) | Cod sursa (job #468634) | Cod sursa (job #198241) | Cod sursa (job #3169466) | Cod sursa (job #3165631)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int phi[1000005];
/// phi[i] este nr de nr prime cu i si mai mici decat i
/// phi[i]=i*(f1-1)*(f2-1)*...*(fk-1)/(f1*f2*...*fk)
void Ciur(int n)
{
int i,j;
for(i=2;i<=n;i++) phi[i]=i;
for(i=2;i<=n;i++)
if(phi[i]==i)///i este prim
for(j=i;j<=n;j+=i) phi[j]=phi[j]/i*(i-1);
}
int main()
{
Ciur(1000000);
int n;
long long cnt=0;
fin>>n;
for(int i=2;i<=n;i++)
cnt+=2*phi[i];
cnt++;
fout<<cnt;
return 0;
}