011-数兔子

# -*- coding:cp936 -*-

def rabbit(n):
    """
    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
    小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....
    """
    sum = 0
    if n < 3:
        sum = 1
    else:
        sum = rabbit(n-1) + rabbit(n-2)
    return sum

if (__name__ == ‘__main__‘):
    month = int(raw_input("输入月份:"))
    print rabbit(month)
时间: 2024-10-09 15:34:03

011-数兔子的相关文章

数兔子

/** * 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?   程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... *主要基于递归的思想进行求解 */ public class ShuTuZi { public static void main(String[] args) { int i=0; for(i=1;i<20;i++){ System.out.println(f(

第五天以及五一

菱形+数兔子 Console.Write("请输入一个数字:");int a = int.Parse(Console.ReadLine());for (int i = 1; i <= (a + 1); i++){ for (int l = i; l <= a; l++) { Console.Write(" "); } for (int l = 1; l <= i; l++) { Console.Write("★"); } Con

字符串逆序输出--递归

说到递归,很容易想到n!,斐波那契数列(数兔子问题),当然这些都是很好理解的问题.个人认为,最能反映递归实质的是汉诺塔和字符串逆向输出问题.汉诺塔问题只需要思考一步,其他难题就交给计算机吧,这很好的证明了递归就是懒人专用算法.仅凭这一点,就足以掩盖递归效率低下的缺陷.我们都知道,递归就是函数调用自身的过程.在c语言中,函数调用自身和调用其他函数,没有一点区别.都是保存现场,函数调用,恢复现场的过程,这是通俗的说法,用我们专业的术语来说,递归的实质就是入栈和出栈的过程.解释到这里,用递归实现字符串

兔子问题——斐波拉契数(JAVA)

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... a.除第一项和第二项之外,任意一项是前面两项之和.b.第一项和第二项的值是首先给定的. 数学表达式就是: F(n) = F(n-1) + F(n-2) F(1) = 1 F(2) = 1 1 public class Rabbit { 2 public static void mai

实例011:养兔子

100个不同类型的python语言趣味编程题 题目 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 此题与趣味算法第五题是同一题,因此在这里列出另一种解法,具体分析请看趣味算法第五题. 程序分析:考虑到三个月成熟,可以构建四个数据,其中:一月兔每个月长大成为二月兔,二月兔变三月兔,三月兔变成年兔,成年兔(包括新成熟的三月兔)生等量的一月兔. month=int(input('繁殖几个月?: ')) month_

递归函数____斐波拉契数列____出生2个月后小兔子可以生小小兔子

2017-09-17 22:41:44 递归     ____函数自己调用自己,又可以理解为自己的事情自己做.    如果觉得难以理解,可以把理解成这个函数调用了一个函数,只是这个函数和自己长得一模一样. ---------------------------------------------------------------------------------------     拿一对刚出生的小兔子编故事.     假设,一对刚出生的小兔子,第一个月没有繁殖能力,两个月后生下一对兔子.

习题-四季-回文数-不死神兔

1-键盘录入月份,输出对应的季节.一年有四季;3,4,5春季;6,7,8夏季;9,10,11秋季;12,1,2冬季 public class Demo02Test {     public static void main(String[] args) {         // 键盘录入一个月份,用Scanner实现         Scanner sc = new Scanner(System.in);         // 接收数据         System.out.println("请

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

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

养兔子Fibo函数优化

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> /* var cache = (function createCache() { var data = []; return function c

字符编码--第2章 数的存储

第2章 数的存储 第1节 机器数 计算机中,表示数和数的符号的二进制数,叫做机器数.机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011.如果是 -3 ,就是 10000011 .那么,这里的 00000011 和 10000011 就是机器数. 机器数可用不同的码制来表示,常用的有原码.补码和反码表示法. 第2节 真值 因为第一位是符号位,所以机器数的形式值就不等于真正的数值.例如上面的有符