问题:任意给定一个自然数,如果它为偶数则除以2;为奇数则乘以3后再加1,这样得到一个新的自然数。按照这样的计算方式一直计算下去,最终得到的结果为1。这就是日本数学家角谷静夫提出的一个数学问题。
代码:
def Collatz():
number=int(input('请输入一个正整数:'))
while number!=1:
if number%2==0:
k = number / 2
print('%d/2=%d' % (number, k))
number = k
else:
r=number*3+1
print('%d*3+1=%d'%(number,r))
number=r
if __name__ == '__main__':
Collatz()运行结果:
请输入一个正整数:5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1 | 留言与评论(共有 0 条评论) “” |