首页 > 代码库 > 使用循环解决斐波那契数列Fibonacci sequence

使用循环解决斐波那契数列Fibonacci sequence

 1 # encoding:utf-8
 2 ‘‘‘
 3 Created on 2017年8月7日
 4 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
 5 小兔子长到第三个月后每个月又生一对兔子,
 6 假如兔子都不死,问每个月的兔子总数为多少?
 7 知识链接:
 8     1、在使用函数传递变量时不要同全局变量的名称一样
 9     2、全局变量在函数中使用时,需要用 global声明
10 @author: wangtaoyuan
11 ‘‘‘
12 new = 1#刚出生的小兔子对数
13 one = 0#一个月大的兔子对数
14 old = 0#两个月及以上的兔子,成熟兔子对数
15 i = 0
16 m = input(please input a inter of months:)
17 print                                    ,old + new + one#初始兔子的总数
18 def growup( newl, onel, oldl):
19     global new, old, one, two
20     old = oldl + onel#1个月大的兔子成长为成熟兔子
21     print old:,old
22     one = newl #刚出生的兔子成长为一个月大的兔子
23     print one:, one
24     new = 0 
25 def breed(oldl):
26     global new
27     new = old #一对成熟兔子可以下一对刚出生的小兔子
28     print new:, new
29 while i < m:
30     print i+1,个月后: 
31     growup(new, one, old)#成长1个月
32     breed(old)#成熟的兔子生小兔子
33     i += 1
34     
35     print                                    ,old + new + one#兔子的总数

 

使用循环解决斐波那契数列Fibonacci sequence