zoukankan      html  css  js  c++  java
  • 实验吧编程题:循环

    原题:

    给出一个循环公式,对于一个整数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)        #取最大值

    。。。

  • 相关阅读:
    2.25
    2.24
    2.22
    influxdb 配置
    mongodb 数据备份
    influxDb数据备份
    Linux 及 git 指令集合
    git 项目 保存至gitee中
    TypeScripte 资料
    SecureCrt 的配色方案
  • 原文地址:https://www.cnblogs.com/hell0w/p/7625871.html
Copyright © 2011-2022 走看看