0
已解决
董宇昊
初级启示者
初级启示者
1798 万变不离1
题目描述 Description
有一个著名的猜想,叫做角谷猜想,通俗地讲内容是这样的:任意给定一个正整数n,当n是偶数时,将它除以2,即将它变成n/2;当n是奇数时,就将它变成3n+1,……,若干步后,总会得到1。
我们要求经过几次变化,1这个数字是第一次出现。
输入描述 Input Description
输入一个正整数n
输出描述 Output Description
输出第一次出现1需要变化的次数
样例输入 Sample Input
6
样例输出 Sample Output
8
数据范围及提示 Data Size & Hint
数字的变化过程如下:
6--6÷2--3--3×3+1--10--10÷2--5--5×3+1--16--16÷2--8--8÷2--4--4÷2--2--2÷2--1
一共变化了8次。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
各位大佬,能否给点思路!
0
已采纳
赵朗
高级光能
高级光能
0
李致远
高级光能
高级光能
这题很简单呀,最多也就普及-了
思路
循环
n是奇数则n=3n+1
偶数则n=n/2
cnt++;//cnt初值为0
重点来了!
本题用什么循环?????
方法一 for 当n==1时break
方法二 while 条件为n不等于1
方法三 do-while 先执行,再在while里写n不等于1//麻烦
wangcaina xiexie
0
王子健
初级天翼
初级天翼
这题很简单啊,你都不会做
先用while循环一个条件,n!=1
然后开始执行while循环
循环里面写几个判断
第一个:如果n为偶数,将n除以二,计数器++
第二个:如果n为奇数,将n乘3加1,计数器++
最后输出计数器
望采纳,谢谢
PS:如果还是不会请评论我,谢谢
0