zoukankan      html  css  js  c++  java
  • 每日一程-14.python-打印冰雹序列

    Author: Notus(hehe_xiao@qq.com)
    Create: 2019-02-21
    Update: 2019-02-21

    给定一个正整数,打印出对应的冰雹序列

    冰雹序列

    冰雹序列是由Collatz猜想提出的。

    给出下列公式和初始的正整数值,生成的序列以1结束。

    公式如下:

    * 如果数字是偶数,除以2
    * 如果数字是奇数,乘以3,再加上1
    * 当数等于1时,退出程序
    

    从初始数字开始应用公式,然后在生成的每个数字上反复应用公式,得到整个序列。

    环境

    Python version: 3.7.1

    代码如下(a.py)

    '''
    	给定一个正整数,打印出冰雹序列。
    	@Author: Notus(hehe_xiao@qq.com)
    	@Create: 2019-02-21
    	@Update: 2019-02-21
    	@Version: 0.1
    '''
    
    theNum = input("请输入一个正整数:")
    
    while not theNum.isdigit() or int(theNum) <= 0:
    	print("请输入一个合法的正整数!")
    	theNum = input("请输入一个正整数:")
    	
    theNum = int(theNum)
    print(theNum)
    count = 1
    while theNum > 1:
    	if theNum % 2 == 0:
    		theNum //= 2
    	else:
    		theNum = theNum * 3 + 1
    	print(theNum)
    	count += 1
    else:
    	print("此序列长为: {}".format(count))
    

    运行

    C:UsersNotusDesktop>python a.py
    请输入一个正整数:10
    10
    5
    16
    8
    4
    2
    1
    此序列长为: 7
    
  • 相关阅读:
    rbd-mirror新功能
    ceph查询rbd的使用容量(快速)
    Ceph Bluestore首测
    让磁盘硬盘灯常闪定位盘
    aa
    地理围栏
    Can't connect to MySQL server on localhost (10061)解决方法
    经典智力题
    MEF程序设计指南
    ESRI.ArcGIS.AnalysisTools.Erase 结果是空?
  • 原文地址:https://www.cnblogs.com/leo1875/p/10415727.html
Copyright © 2011-2022 走看看