xxx定律
程序员文章站
2022-06-02 20:13:31
...
题目描述
对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。 请计算需要经过几步才能将n变到1,具体可见样例。
输入描述:
测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)
输出描述:
对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。
示例1
输入
3
1
0
输出
5
0
代码:
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<string.h>
#include<iostream>
#include<iomanip>
#include<vector>
#include<map>
#include<stack>
#include<queue>
using namespace std;
int computerCount(int number){
int count = 0;
while(number != 1){
if(number % 2 == 0){
number /= 2;
count++;
}else{
number = 3 * number + 1;
number /= 2;
count++;
}
}
return count;
}
int main()
{
int number;
while(cin >> number){
cout << computerCount(number) << endl;
}
return 0;
}
下一篇: 达梦数据库全文索引使用示例
推荐阅读
-
解析:ClickOnce通过URL传递参数 XXX.application?a=1
-
sql server2005进程无法向表"dbo"."xxx"进行大容量复制(错误号: MSSQL_REPL20037)
-
网站设计尊重用户体验 如何运用好峰终定律
-
世界最著名十大心理学效应 木桶定律你了解吗
-
百度搜索引擎三大定律 更好的做网站优化
-
Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考
-
紫光展锐:EUV让摩尔定律重获生命 6nm 5G芯片手机明年量产
-
[转]微服务架构的理论基础 - 康威定律
-
docker build提示error checking context:can't stat xxx
-
阿里运营七大黄金定律