码迷,mamicode.com
首页 > 其他好文 > 详细

实验吧编程题:循环

时间:2017-10-04 18:03:07      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:==   公式   style   span   n+1   输出   blog   append   奇数   

原题:

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

 

。。。

实验吧编程题:循环

标签:==   公式   style   span   n+1   输出   blog   append   奇数   

原文地址:http://www.cnblogs.com/hell0w/p/7625871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!