链接:ac.nowcoder.com/acm/problem…
来源:牛客网
题目描述
有一个数字魔法,给你一个正整数n,如果n为偶数,就将他变为n/2, 如果n为奇数,就将他变为乘3加1
不断重复这样的运算,经过有限步之后,一定可以得到1
牛牛为了验证这个魔法,决定用一个整数来计算几步能变成1
输入描述:
输入一个正整数n,范围在100以内
输出描述:
输出一个整数
示例1
输入
3
输出
7
说明
3->10->5->16->8->4->2->1。总共需要7步
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
int sum = 0;
while(1){
if(n % 2 == 0){
n /= 2;
sum++;
}
else{
n = n * 3 + 1;
sum ++;
}
if(n == 1){
cout << sum;
break;
}
}
return 0;
}