角谷猜想又称冰雹猜想。它首先流传于美国,不久传到欧洲,后来由一位叫角谷的日本人带到亚洲。因为被称为角谷猜想。 角谷猜想的内容是这样的:任意给定一个自然数 n ,当 n 是偶数时,将它除以2,即将它变成 n /2;当 n 是奇数时,就将它变成3n+1,……,若干步后,总会得到1。 编写程序,要求用户输入一个数字,找出第一次出现1时,经过了多少步?
时间: 2024-03-20 10:42:22 浏览: 101
好的,这是一个经典的编程问题。以下是 Python 代码实现:
```python
def hailstone(n):
count = 0
while n != 1:
if n % 2 == 0:
n = n // 2
else:
n = n * 3 + 1
count += 1
return count
n = int(input("请输入一个数字:"))
steps = hailstone(n)
print("经过了 %d 步才第一次出现1" % steps)
```
你可以输入一个数字,程序会输出经过多少步才第一次出现1。例如,输入数字10,程序会输出7,因为经过7步后,10变成了5,5变成了16,16变成了8,8变成了4,4变成了2,2变成了1。
阅读全文