Pagini recente » Cod sursa (job #1102704) | Cod sursa (job #1494692) | Borderou de evaluare (job #2222011) | Borderou de evaluare (job #2007946) | Cod sursa (job #1490905)
#include <fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
const int LIM=1000;
int n, eul[LIM+1];
void euler()
{
for(int i=1; i<=LIM; i+=2) eul[i]=i;
for(int i=2; i<=LIM; i+=2) eul[i]=i/2;
for(int i=3; i<=LIM; i+=2)
if(eul[i]==i)
for(int j=i; j<=LIM; j+=i)
eul[j]=eul[j]/i*(i-1);
}
int main()
{
euler();
fin>>n;
long long ans=0;
for(int i=1; i<=n; ++i)
ans+=1ll*2*eul[i];
fout<<ans-1;
return 0;
}