Pagini recente » preONI 2008 - Aparitii in presa | Cod sursa (job #148238) | Cod sursa (job #1027195) | Cod sursa (job #732878) | Cod sursa (job #2353122)
#include <fstream>
using namespace std;
ifstream cin("fractii.in");
ofstream cout("fractii.out");
int phi(int n){
int r = n, d=2;
while (n>1) {
while (n%d && d*d<=n)
d++;
if (d*d>n)
d = n;
r /= d;
r *= d - 1;
while (n%d==0) {
n /= d;
}
}
return r;
}
int phiBuffer[1000000];
long long n, i, sphi;
int main() {
cin >> n;
phiBuffer[2] = 1;
sphi = 1;
for (i = 3; i <= n; i++)
{
if (i%2) {
phiBuffer[i] = phi(i);
} else {
phiBuffer[i] = 2 * phiBuffer[i / 2];
}
sphi += phiBuffer[i];
}
cout << 2 * sphi + 1;
cin.close();
cout.close();
return 0;
}