c++整数替换

题目描述:
给定一个正整数 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;
}

猜你喜欢

转载自blog.csdn.net/weixin_47414687/article/details/115423307