考察知识点:简单模拟
思路:读入题目给出的n,之后用while循环语句反复判断n是否为1:
(1)如果n为1,则退出循环。
(2)如果n不为1,则判断n是否为偶数,如果是偶数,则令n除以2;否则令n为(3*n+1)/2。之后令计数器count加1.
这样当退出循环时,count的值就是需要的答案。
#include<cstdio>
int main(){
int n, count = 0;
scanf("%d", &n); //输入题目给出的n
while(n != 1){ //循环判断n是否为1
if(n % 2 == 0) //如果是偶数
n /= 2;
else //如果是奇数
n = (3 * n + 1) / 2;
count++; //计数器加1
}
printf("%d", count);
return 0;
}