• 实验吧编程题:循环


    原题:

    给出一个循环公式,对于一个整数n,当n为奇数时,n=3n+1,当n为偶数时,n=n/2,如此循环下去直到n=1时停止。

    现要求对两个整数i = 900、j = 1000,输出i、j之间(包括i、j)的所有数进行上述循环时的最大循环次数(包括n和1)。

    格式:CTF{xxx}

    python实现:

     1 #-*-coding:utf-8-*-
     2 #博客园 hell0_w
     3 
     4 def panduan(n):
     5     if n % 2 == 1:
     6         n = 3 * n + 1
     7     else:
     8         n = n / 2
     9     return n
    10 
    11 def cishu(n):
    12     num = 0
    13     while n != 1:
    14         num = num + 1
    15         n = panduan(n)
    16     return num + 1    #加上判断n是否为1的次数
    17 
    18 list = []
    19 for i in range(900,1001 ):
    20     num = cishu(i)
    21     list.append(num)    #把各个数的循环次数放入列表
    22 print max(list)        #取最大值

    。。。

  • 相关阅读:
    jackson自动将东八区时间转成标准时间
    开发项目和所用时间 感想
    自我介绍
    后缀数组模板
    lucas模板
    后缀数组da3模板
    cf#366....
    第1月2周1天
    第1月2周2天
    第1月1周1天
  • 原文地址:https://www.cnblogs.com/hell0w/p/7625871.html
Copyright © 2020-2023  润新知