题解 | #魔法数字变换#
魔法数字变换
https://www.nowcoder.com/practice/db41a6ce80a646aa9a5eb6252ac2df76
#include<stdio.h>
int main()
{
int n,j=0;
scanf("%d",&n);//输入
while(n>1)//因为不知道几步变成1,所以用while循环,直到n变为1,不满足大于1,跳出循环
{
if(n%2==0)//%2取余等于0为常用的判断偶数办法
{
n=n/2;//根据题意,当n为偶数时,把它变为n/2
}
else
{
n=3*n+1;//当n为奇数时,把它变为乘3加1
}
j++;//累加步数
}
printf("%d",j);//输出步数
return 0;
}
查看12道真题和解析