九度OJ 1031
2016-06-18 22:00
169 查看
题目描述:
对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。
请计算需要经过几步才能将n变到1,具体可见样例。
输入:
测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)
输出:
对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。
样例输入:
样例输出:
这题比较直接,按题目意思来就可以了。我原本以为会超时,没想到一次性过了,这应该就是水题吧!
额,我现在需要做这样的水题来增强点自信。
对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。
请计算需要经过几步才能将n变到1,具体可见样例。
输入:
测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)
输出:
对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。
样例输入:
3 1 0
样例输出:
5 0
这题比较直接,按题目意思来就可以了。我原本以为会超时,没想到一次性过了,这应该就是水题吧!
额,我现在需要做这样的水题来增强点自信。
#include <iostream> using namespace std; int main(){ int n; while(cin>>n){ if(n == 0) break; int count = 0; while(n!=1){ if(n%2 == 0){ n = n/2; count ++; } else{ n = 3*n + 1; n = n/2; count ++; } } cout<<count<<endl; } return 0; }
相关文章推荐
- 信道容量
- 自定义控件起步(二)(自定义属性)
- TP框架基础2
- [bzoj2638] 黑白染色
- 上下左右滑动测试
- 采用Atlas+Keepalived实现MySQL读写分离、读负载均衡
- [置顶] 【一些网站的收集】包含机器学习深度学习大牛主页等
- 网页源码查看器
- Deep Learning(深度学习)学习笔记整理系列之(八)
- ListView优化机制及滑动时数据时出现的数据错乱重复问题
- 20145211 《Java程序设计》课程总结——桃花流水窅然去
- Matlab编程笔记之GUI程序转exe
- 使用Map集合求出一个字符窜中各个字符的个数
- php魔术方法
- Deep Learning(深度学习)学习笔记整理系列之(七)
- 使用Python Pandas处理亿级数据
- gridView中的子控件无法铺满父布局
- 解决vsftpd 530 Permission denied
- Struts2数据处理与上传
- Hibernate使用步骤