python

超轻量级php框架startmvc

Python考拉兹猜想输出序列代码实践

更新时间:2020-07-12 02:18:01 作者:startmvc
考拉兹猜想(英语:Collatzconjecture),是指对于每一个正整数,如果它是奇数,则对它乘3再

考拉兹猜想(英语:Collatz conjecture),是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。(摘自Wiki)

首先编写一个collatz()函数判定参数(number)奇偶,如果是偶数则返回 number//2;如果是奇数则返回 3*number+1

然后用户输入一个正整数后,对这个数反复调用collatz(),直至打印出1

程序如下:


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)

测试结果:


请输入一个正整数:3
10
5
16
8
4
2
1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python 考拉兹猜想 输出序列