Pagini recente » Cod sursa (job #2885999) | Cod sursa (job #183229) | Cod sursa (job #865436) | Cod sursa (job #2886002) | Cod sursa (job #3219547)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("fractii.in");
ofstream g ("fractii.out");
const int NMAX = 1000000;
int Phi[NMAX+1];
void euler(int NMAX) {
int i, j;
for (i=1; i<=NMAX; i++)
Phi[i] = i;
for (i=2; i<=NMAX; i++)
if (Phi[i]==i)
for(j=i; j<=NMAX; j+=i)
Phi[j] -= Phi[j]/i;
}
int main()
{
int N;
long long sol;
f >> N;
euler(NMAX);
for (int i=2; i<=N; i++)
sol += Phi[i];
sol = sol*2 + 1;
g << sol;
f.close();
g.close();
return 0;
}