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

yipeiwu_com7年前Python基础

考拉兹猜想(英语: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设计】。

相关文章

Python装饰器基础详解

装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见...

Python正则表达式教程之一:基础篇

前言 之前有人提了一个需求,我一看此需求用正则表达式最合适不过。考虑到之前每次使用正则表达式,都是临时抱佛脚,于是这次我就一边完成任务一边系统的学习了一遍正则表达式。主要参考PyCon2...

python实现图像识别功能

本文实例为大家分享了python实现图像识别的具体代码,供大家参考,具体内容如下 #! /usr/bin/env python from PIL import Image...

Python+matplotlib绘制不同大小和颜色散点图实例

Python+matplotlib绘制不同大小和颜色散点图实例

 具有不同标记颜色和大小的散点图演示。 演示结果: 实现代码: import numpy as np import matplotlib.pyplot as plt...

python dict remove数组删除(del,pop)

比如代码 binfo = {'name':'jay','age':20,'python':'haha'} print binfo.pop('name')#pop方法删除键,并且返回键对应...