#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { int i, j, k; long n, n2; vectorre; mapp1; cin >> n; n2 = n; int cnt = 0; while (true) { if (n == 1) break; if (n % 2 == 0) { n /= 2; re.push_back(n); cnt++; } else if (n % 2 == 1) { n++; cnt++; n /= 2; p1.insert(make_pair(n, 999)); re.push_back(n); cnt++; } } /* for (i = re.size() - 1; i >= 0; i--) { if (re[i] == n * 2 && p1[n*2]==999) { n *= 2; n--; } else if (re[i] == n * 2) { n *= 2; } } cout << "n->"<< n << endl; */ cout << cnt << endl; getchar(); getchar(); return 0; }