![]() 问题:任意给定一个自然数,如果它为偶数则除以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=rif __name__ == '__main__': Collatz() 运行结果: 请输入一个正整数:55*3+1=1616/2=88/2=44/2=22/2=1 |
|