考拉兹猜想(英语: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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。