所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。
假定初始整数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个整数,将经过多少次处理得到1的过程输出来。
利用while循环和有参函数实现:
def sua(n):
b = n
a = 0
while n > 1:
if n % 2 == 0:
n = n/2
a += 1
else:
n = n*3+1
a += 1
print('%d经过了%d次' % (b, a))
sua(int(input('请输入一个正整数:')))