题目描述:
给定一个正整数 n ,如果 n 是偶数,则用 n / 2替换 n 。
如果 n 是奇数,则可以用 n + 1或n - 1替换 n 。
n 变为 1 所需的最小替换次数是多少?
代码:
#include<iostream>
using namespace std;
int main()
{
int sum=0;
cout << "请输入一个数(需要大于0)" << endl;
int num = 0;
cin >> num;
while (num != 1)
{
if (num % 2 == 0)
{
num = num / 2;
++sum;
}
else
{
num = num + 1;
++sum;
}
}
cout << "次数为:" << sum << endl;
system("pause");
return 0;
}