题目描述
考拉兹猜想(Collatz conjecture)又称奇偶归一猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2。如此循环,最终都能得到1。
编写一个程序,输入一个正整数,打印其考拉兹序列。
输入格式
1个>1的正整数
输出格式
以空格分隔的考拉兹序列。
输入样例
在这里给出一组输入。例如:5
输出样例
在这里给出相应的输出。例如:16 8 4 2 1
源代码
def collatz_sequence(n):
sequence = [n]
while n != 1:
if n % 2 == 0:
n = n // 2
else:
n = n * 3 + 1
sequence.append(n)
return sequence
# 输入一个正整数
num = int(input("请输入一个正整数:"))
# 打印考拉兹序列
sequence = collatz_sequence(num)
print(" ".join(str(x) for x in sequence))
这段代码定义了一个名为 collatz_sequence
的函数,用来生成考拉兹序列。该函数接受一个正整数 n
作为参数,并返回以 n
为起点的考拉兹序列。
在主程序中,我们首先通过 input
函数获取用户输入的正整数。然后调用 collatz_sequence
函数生成考拉兹序列,并用空格将序列中的数字连接成一个字符串进行输出。
运行代码并输入样例中的数字5,输出结果为:
16 8 4 2 1
这就是输入的正整数5对应的考拉兹序列。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END