【Python】【demo实验14】【练习实例】【斐波那契数列】【经典兔子生小兔子问题】

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

每个月的兔子数量

1:2
2:2
3:4 2+2
4:6 2+2+2
5:10 2+2+2+2+2
6:16 6+6+4
7:26 10+10+6

第一个月和第二个月兔子不繁殖

第三个月,两个兔子繁殖两个兔子,共四个

第四个月,两个兔子继续繁殖两个兔子,小兔子不繁殖;共6个

以此类推

2,2,4,6,10,16,26

这个数量刚好是斐波那契数列 的两倍

源代码:

#!/usr/bin/python
# encoding=utf-8
# -*- coding: UTF-8 -*-

# 斐波那契数列  兔子生兔子问题:
"""
l = []
l.append(1)
l.append(1)
while(1):
    k = len(l)
    m = (l[k-2]+l[k-1])
    print(m)
    l.append(m)
    print("====",l)

"""

# 兔子的数量

l = []
l.append(2)
l.append(2)
while(1):
    k = len(l)
    m = (l[k-2]+l[k-1])
    l.append(m)
    print("====",l)

输出结果:

原题解法:

我认为原题解法,答案不对;

  

————————(我是分割线)————————

参考:

1. RUNOOB.COM:https://www.runoob.com/python/python-exercise-example11.html

备注:

初次编辑时间:2019年9月24日20:39:50

环境:Windows 7   / Python 3.7.2

原文地址:https://www.cnblogs.com/kaixin2018/p/11580867.html

时间: 2024-10-19 18:48:01

【Python】【demo实验14】【练习实例】【斐波那契数列】【经典兔子生小兔子问题】的相关文章

一起talk C栗子吧(第四回:C语言实例--斐波那契数列)

各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例.闲话休提, 言归正转.让我们一起talk C语言实例吧! 看官们,上一回中咱们说的是求阶乘的例子,这一回咱们说的例子是:斐波那契数列. 看官们,斐波那契数列是以数学家斐波那契数列的姓来命名的.斐波那契数列的定义:数列的第0项和第1项 为1,第n项为第n-1项和第n-2项的和.用数学公式表示出来就是:f(n)=f(n-1)+f(n-2),其中(n>1),f(n)=1;(n=0,1). 看官们,我在程序中使用了递归

Python初学者笔记:打印出斐波那契数列的前10项

问题:斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加.特别指出:0不是第一项,而是第零项. 方法:Python2.7.9 a=0 b=

python几个练习(素数、斐波那契数列)

随机输入求素数: x = int(input("please enter the number:")) if x != 1: for i in range(2, x): if x % i == 0: break else: print(x) 求10W以内全部的素数 c = 0 for x in range(2,100000): for i in range(2, int(x ** 0.5)+1): if x % i == 0: break else: c += 1 print(x) p

js算法集合(二) javascript实现斐波那契数列 (兔子数列) Javascript实现杨辉三角

js算法集合(二)  斐波那契数列.杨辉三角 ★ 上一次我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,这次,我们来对斐波那契数列和杨辉三角进行研究,来加深对Javascript的理解. 一.Javascript实现斐波那契数列 ①要用Javascript实现斐波那契数列,我们首先要了解什么是斐波那契数列:斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为

斐波那契数列(兔子数列)

学编程的人肯定接触过"斐波那契数列"和"约瑟夫环",这里给出两种代码的写法意思不在于体会不同.而是要找到方法.也就是我们所说的数据结构和算法.基础很重要,以此告诫自己莫要追逐PHP华丽的函数. F(n)=f(n-1)+f(n-2) F(1)=1 F(2)=1 PHP代码: <?php // 斐波那契数列 $arr = array(1,1); for ($i=2; $i<20; $i++) { //printf("i-1 = %s, i-2 = 

js 斐波那契数列(兔子问题)

对于JS初学者来说,斐波那契数列一直是个头疼的问题,总是理不清思路. 希望看完这篇文章之后会对你有帮助. 什么是斐波那契数列 : 答: 斐波那契数列,又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列".  指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.-- 题目:有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面.已知一对兔子每个月可以生一对小兔子,而一对

1、斐波那契数列问题

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 1 public class Prog1 { 2 public static void main(String[] args) { 3 int n=10; 4 System.out.println("第"+n+"个兔子总数为:"+fun(n)); 5 } 6 7

python3 求斐波那契数列(Fibonacci sequence)

输出斐波那契数列的前多少个数. 利用函数 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan # ----斐波那契数列(Fibonacci sequence)----- def check_num(number:str): ''' 对输入的字符串检查,正整数,返回Ture,否则返回False :param number: 输入的字符串 :return: 符合要求,返回Ture,不符合返回False ''' # 输入不

斐波拉契数列问题

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? package Test; /** * 斐波拉契数列问题(兔子问题) * 可推导递推公式 * f(n+1)=f(n)+f(n-1) * */ public class FibonacciNumeral { public static void main(String[] args) { System.out.println("第一个月的兔子为1"

JS斐波拉契数列

斐波拉契数列又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.......... 规律:1+1=2,1+2=3,2+3=5,3+5=8.......... <script> function fab ( n ) { if ( n == 1 || n == 2 ) { return 1; }else { return fab( n - 1 ) + fab( n - 2 ); } } alert(fab( 6 ));//弹出第六位斐波拉契数 &l