#include <iostream> //算法复杂度为O(n)
using namespace std;
int main() {
long long N;
cin >> N;
long long result = 0;
for (long long i = 1; i <= N; ++i) {
int temp = i;
while (temp % 2 == 0) {
temp /= 2;
}
result += temp;
}
cout << result << endl;
return 0;
}
算法复杂度O(logn):
sum(i) = sum (i / 2) + 1 + 3 + ... + i - 1 (i 为偶数)