考拉兹猜想(英语:Collatz conjecture),是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。(摘自Wiki)
首先编写一个collatz()函数判定参数(number)奇偶,如果是偶数则返回 number//2;如果是奇数则返回 3*number+1
然后用户输入一个正整数后,对这个数反复调用collatz(),直至打印出1
程序如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
def collatz(number):
res = number % 2
if res = = 0 :
return number / / 2
else :
return number * 3 + 1
print ( '请输入一个正整数:' ,end = '')
num = int ( input ())
sum = collatz(num)
print ( sum )
while sum ! = 1 :
sum = collatz( sum )
print ( sum )
|
测试结果:
1
2
3
4
5
6
7
8
|
请输入一个正整数: 3
10
5
16
8
4
2
1
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_41992246/article/details/81145654