20036 魔法数字变换

题目描述

有一个数字魔法,给你一个正整数n,如果n为偶数,就将他变为n/2, 如果n为奇数,就将他变为乘3加1 不断重复这样的运算,经过有限步之后,一定可以得到1 藤藤为了验证这个魔法,决定用一个整数来计算几步能变成1

输入格式

输入一个正整数n,范围在100以内

输出格式

输出一个整数

样例

样例输入

3
样例输出

7
数据范围与提示 分类标签

[循环] [语法基础]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

int n;
int r;


// The main procedure
int main() {
  cin>>n;
  r = 0;
  while (n != 1) {
    if ((n%2) == 0) {
      n = (n/2);
    } else {
      n = ((n*3)+1);
    }
    r++;
  }
  cout<<r;
  return 0;
}

Blockly题解代码图片