Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <iostream>#include <cstring>#include <cmath>using namespace std;int main(){long long n;cin >> n;int res = 0;long long tmp = n;long long pre;while(1) {pre = log(tmp) / log(2);if (pre != 0) ++res;else {++res;break;}tmp = min(tmp-pow(2,pre),pow(2,pre+1)-tmp);if (tmp == 0) {break;}