实验吧编程题:循环

Posted hell0_w

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验吧编程题:循环相关的知识,希望对你有一定的参考价值。

原题:

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

 

。。。

以上是关于实验吧编程题:循环的主要内容,如果未能解决你的问题,请参考以下文章

实验吧编程题找素数

实验吧编程循环

实验吧编程题:求底运算

实验吧编程题:百米

实验吧编程题:Hashkill

实验吧编程题:双基回文数