python 3n+1
时间: 2023-11-11 07:02:51 浏览: 45
Python的3n+1问题是一个数学问题,也称为“Collatz猜想”或“哈塞尔布朗猜想”。该问题的描述是,对于任意大于1的自然数n,如果n是奇数,则将n变为3n+1;如果n是偶数,则将n变为n/2。重复这个过程,最终会得到1。这个问题没有被严格证明,但对于所有已经测试的数,最终都会得到1。
下面是一个解决3n+1问题的Python代码示例:
```
def record_3n(calculate_number):
record_list = []
while True:
if calculate_number == 1:
break
calculate_number = calculate_number // 2 if calculate_number % 2 == 0 else (calculate_number * 3 + 1) // 2
record_list.append(calculate_number)
return set(record_list)
input_list = input().split()
each_number = set([int(number) for number in input_list])
result = []
for number in each_number:
record_result = record_3n(number)
each_number = each_number.difference(record_result)
result = list(each_number)
result.sort(reverse=True)
result = [str(i) for i in result]
print(' '.join(result))
```