九度oj-1031-xxx定律
来源:互联网 发布:网络买鞋子怎么买 编辑:程序博客网 时间:2024/06/07 11:53
- 题目描述:
- 对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。
请计算需要经过几步才能将n变到1,具体可见样例。
- 输入:
- 测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)
- 输出:
- 对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。
- 样例输入:
310
- 样例输出:
50
#include<stdio.h>int main(){int n;while(scanf("%d",&n)!=EOF){int count=0;int flag=0;while(1){if(n==0) return 0;else if(n==1){switch (flag){case 0: printf("%d\n",flag);break;case 1:printf("%d\n",count);break;}break;}if(n%2==0){n/=2;count++;flag=1;}else{n=3*n+1;n/=2;count++;flag=1;}}}return 0;}
昨晚收工的时候,打开了这题。说在回去的路上可以想清楚,然后回去就写了。不知道是我腿太长(逃。。。)还是路太短,似乎还没想就到了。
晚上躺床上了,再想一想早上起来就写了,可我这个脑壳,咋就思绪前进不了呢。于是用在手机上写了下来。
这个程序的结构 用了上一题的结构,我都忘记switch case和break的关系了。
话说我觉得有点奇怪啊,为什么switch case的设定是只有没有break就会一直执行,那还要后面的case干嘛。好吧,我现在才思考这个问题真的反射福(逃。。。)太长了。
啧啧啧。
今天我的朋友跟我讲说“我真心希望你不管是选择升学还是工作,都能去更厉害的层次。”(后面还跟了一个qq表情里的那个赞的小熊)
突如其来的真心话,让我愣了一下。然后是觉得温暖。
上一次他叮嘱(算是叮嘱吧)我,还是这个学期开学,刚刚实训回来,朋友突然说要来找我玩,在去吃饭的路上,突然跟我讲说你要好好学习哦。
我当时开心的答应着,之后就抛在了脑后,啧啧啧。
下一题吧。
阅读全文
0 0
- 九度oj 1031 XXX定律
- 九度OJ 1031 xxx定律
- 九度OJ 1031 xxx定律
- 九度OJ题目1031:xxx定律
- 九度OJ 题目1031:xxx定律
- 九度OJ-题目1031:xxx定律
- 九度 OJ 1031:xxx定律
- 九度OJ-题目1031 xxx定律
- 九度oj-1031-xxx定律
- 九度OJ—题目1031:xxx定律
- 九度OJ 1031:xxx定律 (基础题)
- 九度1031 xxx定律
- 九度1031 xxx定律
- 九度1031:xxx定律
- 九度OJ 题目1033:继续xxx定律
- 九度OJ 题目1033:继续xxx定律
- 九度OJ 1033:继续xxx定律 (基础题)
- 九度oj 题目1031:xxx定律 【ZJU2009考研机试题1】
- 高级面向对象之 面向对象中常用的属性和方法
- 目标类选择器":traget"应用场景
- 深入pack
- 机器学习基于K-近邻算法(KNN)
- C语言 — 整形提升
- 九度oj-1031-xxx定律
- 反射-通过反射获取私有构造方法并使用
- 分布式任务系统 tbschedule
- struct inode 和 struct file
- 第三十六天:如何手动安装tomcat6.0,并且配合环境变量
- A Dangerous Maze(概率与期望(求时间的期望))
- 排序算法之堆排序(js)
- Angular的核心
- 与内存管理相关的几个宏