问题标题: 酷町堂:1798   万变不离1

0
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
我要回答