计算兔子的总数

/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21....*/

#include <stdio.h>

//f(n) = 2f(n-1) - (f(n-1)-f(n-2)) = f(n-1) + f(n-2);\
递归实现

int numbers(int n);
int main(int argc, const char * argv[]) {
    //第n个月
    int n = 8;

    printf("第%i个月兔子的总数是:%i\n", n, numbers(n));

    return 0;
}

int numbers(int n)
{
    if (n == 1 || n == 2) {
        return 1;
    }else{
        return numbers(n-1)+numbers(n-2);
    }
}
时间: 2024-10-19 01:31:01

计算兔子的总数的相关文章

按天数计算兔子数量

<?php 按天数计算兔子数量 $tuzi=array(1,0,0,0,0); function sum_tuzi($arr,$n) { for($i=0;$i<$n;$i++) { $temp=$arr[1]+$arr[3]; array_unshift($arr, $temp); array_pop($arr); } return array_sum($arr); } echo sum_tuzi($tuzi,30); ?>

【华为OJ】【029-统计每个月兔子的总数】

[华为OJ][算法总篇章] [华为OJ][029-统计每个月兔子的总数] [工程下载] 题目描述 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? /** * 统计出兔子总数. * * @param monthCount 第几个月 * @return 兔子总数 */ public static int getTotalCount(int monthCount) { return 0; } 输入描述 输入int型表

华为OJ——统计每个月兔子的总数

题目描述 有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少? /** * 统计出兔子总数. * * @param monthCount 第几个月 * @return 兔子总数 */ public static int getTotalCount(int monthCount) { return 0; } 输入描述: 输入int型表示month 输出描述: 输出兔子总数int型 输入例子: 9 输出例子: 34 斐波

求每个月兔子的总数

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 解法一:(数组) public class rabbit { public static void main(String[] args) { // TODO Auto-generated method stub int a[]=new int[24];//定义一个存放24个月的数组 a[0]=a[1]=1; for(int i=0;i<24;i++){

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

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> var num1 = 1; var num2 = 0; var sum = 0; var mon = prompt("请输入你所

兔子生兔子问题

一对兔子,从出生后的第3个月起每个月都生1对,小兔子长到第3个月后每个月又生1对兔子,假如兔子都不死,某个月的兔子总数是多少分析:每个月兔子总数1,1,2,3,5,8,13,21,34,55... n1=1;//第一个月n2=1;//第二个月 n1=n1+n2;//第三个月 n2=n1+n2;//第四个月 f(n):第n个月 兔子总量 f(n)=f(n-1)+f(n-2) f(5)=f(4)+f(3) f(4):3 f(3):2 f(2):1 f(1):1 <script> function

算法设计兔子问题

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问某个月的兔子总数为多少? 分析:出生后第3个月起每个月都生一对兔子,说明第n个月一对兔子生下了n-3对兔子; 小兔子长到第三个月后每个月又生一对兔子;说明这是一个同样问题,可以递归 源码如下: /** * @param month 月份 * @return 某月兔子总数 */ public static int rabbitQuestion(int month){ int sum

兔子生兔子函数递归

namespace 兔子生兔子函数递归{    class Program    {        static void Main(string[] args)        {            Console.WriteLine("请输入你想知道兔子哪个月的数量:");            int m = Convert.ToInt32(Console.ReadLine());            int sum = new Program().tuzi(m);  //定

Java版经典兔子繁殖迭代问题——斐波那契(Fibonacci)数列

/** * 题目: * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子. * 假如兔子都不死,问经过month个月后,兔子的总数为多少对? */ public class Fibonacci { // 月份 static Integer month = 3; // 注意:month > 0 public static void main(String[] args) { Integer pair = f(month); System.out.printl