对于任意一个正整数,若为偶数,就把它除以2;若为奇数,就把它乘 以3再加1。经过如此有限次的计算之后,总是会得到数值1,这就是 精想,现给定一个正整数n(ns100.000.000),求经过多少次计算 可以得到1,输出所需次数。
时间: 2023-05-22 18:05:33 浏览: 303
大数据 笔试题 面试题
3星 · 编辑精心推荐
这个问题是关于编程的问题,可以回答。这是一个经典的算法题,也叫做 Collatz 猜想。下面是可以求解的 Python 代码:
```
def collatz_conjecture(n):
count = 0
while n != 1:
if n % 2 == 0:
n //= 2
else:
n = n * 3 + 1
count += 1
return count
n = int(input("请输入一个正整数n:"))
print("经过", collatz_conjecture(n), "次计算可以得到1。")
```
举个例子,如果输入的 n 是 6,那么输出的结果应该是 8。
阅读全文