0
点赞
收藏
分享

微信扫一扫

C++ 按键

一只1994 2022-03-23 阅读 77

【题目描述】
Vasya 最近找到了一个神奇的设备,这个设备只有两个按键,一个是红色的按键,另一个是蓝色的按键,另外还有一个显示器可以显示正整数。

如果按了一次红色的按键,这个设备就会把当前显示器上的数乘以 2,如果按了蓝色按键,就会把当前屏幕上的数减去一,如果屏幕上的数不是正整数了,那么这个设备就会崩溃。

这个显示器可以显示无穷大的正整数,初始的时候,显示器上的数是正整数 N。

请你计算为了在显示器上得到正整数 M,需要最少按多少次键。

【输入】
第一行是两个正整数 N 和 M,显示器上初始的数和最终要达到的数。

【输出】
输出最少需要按键的次数。

【样例输入 1】

4 6

【样例输出 1】

2

【样例输入 2】

10 1

【样例输出 2】

9

【样例说明】

【数据规模】

CODE<代码>

#include<bits/stdc++.h>
using namespace std;
int ans,n,m;
int main()
{
	cin>>n>>m;
	if(n>m)ans+=(n-m);
	else
	{
		while(m>n)
		{
			if(m%2==0)
			{
				ans++;
				m=m/2;
			}
			else
			{
				ans+=2;
				m=(m+1)/2;
			}
		}
		ans+=(n-m);
	}
	cout<<ans;
	return 0;
}

在这里插入图片描述

天天赞天天看!我们明天再见,拜拜!

举报

相关推荐

0 条评论