#B15. 整数替换

整数替换

题目描述

给定一个正整数 nn,你可以执行以下操作将其变为 1:

  1. 如果 nn 是偶数,则用 n/2n / 2 替换 nn。
  2. 如果 nn 是奇数,则可以用 n+1n + 1 或 n−1n - 1 替换 nn。

请问,将 nn 变为 1 所需的最小替换次数是多少?

输入格式

输入一个正整数 nn。

数据范围:

  • 1≤n≤231−11 \le n \le 2^{31} - 1

输出格式

输出一个整数,表示将 nn 变为 1 所需的最小操作次数。

7
4