Pagini recente » Cod sursa (job #2573319) | Cod sursa (job #81071) | Cod sursa (job #2883894) | Cod sursa (job #1516705) | Cod sursa (job #2663769)
#include <fstream>
using namespace std;
typedef long long ll;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
const int NMAX=1000005;
int ciur[NMAX];
ll sp[NMAX];
void constrCiur(){
int i,j;
for(i=1;i<=NMAX-5;i++)
ciur[i]=i;
for(i=2;i<=NMAX-5;i++)
if(ciur[i]==i)
for(j=1;j*i<=NMAX-5;j++)
ciur[j*i]= ciur[j*i]/i*(i-1);
}
void constrSume(){
int i;
for(i=1;i<=NMAX-5;i++)
sp[i]=sp[i-1]+ciur[i];
}
int main()
{
ios_base::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
constrCiur();
constrSume();
int n,i;
fin>>n;
fout<<1LL*sp[n]*2-1;
return 0;
}