题目1031:xxx定律
来源:互联网 发布:nc57 数据字典 微盘 编辑:程序博客网 时间:2024/06/14 23:30
- 题目描述:
- 对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。
请计算需要经过几步才能将n变到1,具体可见样例。
- 输入:
- 测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)
- 输出:
- 对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。
- 样例输入:
310
- 样例输出:
50
#include<stdio.h>
int count(int n)
{
int cnt=0;
while(n!=1)
{
if(n%2 == 0)
n=n/2;
else if(n%2 == 1)
n = (3*n+1)/2;
cnt++;
}
return cnt;
}
int main()
{
int n;
scanf("%d",&n);
while(n!=0)
{
printf("%d\n", count(n));
scanf("%d",&n);
}
}
0 0
- 题目1031:xxx定律
- 题目1031:xxx定律
- 题目1031:xxx定律
- 题目1031:xxx定律
- 题目1031:xxx定律
- 题目 1031 xxx定律
- 题目1031:xxx定律
- 题目1031:xxx定律
- 题目1031:xxx定律
- 题目1031:xxx定律
- 题目1031:xxx定律 题目1033:xxx定律
- 九度OJ题目1031:xxx定律
- 九度OJ 题目1031:xxx定律
- 九度OJ-题目1031:xxx定律
- 九度OJ-题目1031 xxx定律
- 题目1033:继续xxx定律
- 题目1033:继续xxx定律
- 题目1033:继续xxx定律
- Science上发表的超赞聚类算法
- js 函数参数
- 如何truncate掉有带有外键的表
- 异常控制流
- 设计模式 策略模式 以角色游戏为背景
- 题目1031:xxx定律
- unix/linux编程实践教程:进程和程序
- Multiply Strings
- [笔试]C语言题目(二)
- jsp页面之间通过servelt调用DAO方法,让DAO回传入的值,通过servlet调到转入的页面
- hdu - 4911 - Inversion(离散化+树状数组)
- 不会用ant打包、部署项目的工程师,不是一个好程序员(测试)
- 花钱要区分“投资”行为或“消费”行为(转载)
- Android异步消息框架