C/C++练习——励志的数字
【摘要】 C/C++练习——励志的数字
名人说:故立志者,为学之心也;为学者,立志之事也。—— 王阳明
巩固练习C/C++语言,增强上机、动手实践能力,交流学习!
一、问题呈现
1.问题描述
Problem Description
从前有—个数字1,它每天要么+1,要么*2现在它变成了N,请问它最少用了几天变成N。
2.输入输出
Input
输入只有一行N,代表最终的数字
Output
输出只有一行表示答案
3.测试样例
样例1
Sample Input
2
Sample Output
1
样例2
Sample Input
6
Sample Output
3
二、源码实现
#include<iostream>
using namespace std;
int main()
{
int flag;
int n;
while(cin>>n)
{
flag=0;
while(n!=1)
{
if(n%2!=0)
{
n--;
flag++;
}
else
{
n=n/2;
flag++;
}
}
cout<<flag<<endl;
}
return 0;
}
★注意:需要ctrl+z+enter手动退出循环输入
三、测试结果
6
3
^Z
--------------------------------
Process exited after 2.68 seconds with return value 0
请按任意键继续. . .
Code_流苏(一个喜欢古诗词和编程的Coder)
如果对大家有帮助的话,希望大家能多多点赞+关注!这样我动力会更足哦! ღ( ´・ᴗ・` )比心
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
[email protected]
- 点赞
- 收藏
- 关注作者
评论(0)