斐波那契数列思想求每月兔子对数【C】

#include<stdio.h>
int main()
{
    int i,n,c;
    int a=1;
    int b=1;
    scanf("%d",&n);
    if(n==1 || n==2)
        printf("1\n");
    else
    {
        for(i=3;i<=n;i++)
        {
            c=a+b;
            a=b;
            b=c;
        }
        printf("%d\n",c);
    }
    return 0;
}

时间: 2024-07-28 13:57:00

斐波那契数列思想求每月兔子对数【C】的相关文章

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

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 每个月的兔子数量 1:22:23:4 2+24:6 2+2+25:10 2+2+2+2+26:16 6+6+47:26 10+10+6 第一个月和第二个月兔子不繁殖 第三个月,两个兔子繁殖两个兔子,共四个 第四个月,两个兔子继续繁殖两个兔子,小兔子不繁殖:共6个 以此类推 2,2,4,6,10,16,26 这个数量刚好是斐波那契数列 的两倍 源代码: #

一起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). 看官们,我在程序中使用了递归

coderfoces446c (斐波那契数列)

题目描述: 区间增值,但是每一项增加的值为Fi - l + 1,F[i]为斐波那契数列,求区间和? 考虑线段树,刚开始想用斐波那契数列的前n项和,可是推不出来,考虑到每个区间的增值序列都是一段斐波那契数列,他们的和是否有什么特性呢? 发现如果前两项为a和b的话,那么,a,b,a+b,a+2b,2a+3b,3a+5b; a和b前的系数为斐波那契数列(后一项为前两项之和, 设F[k]表示以a,b开头的第k项的值,s[k]代表以a和b开头的前k项和 F[k]=a*f[k-2]+b*f[k-1]; F[

矩阵乘法&amp;&amp;矩阵快速幂&amp;&amp;最基本的矩阵模型——斐波那契数列

矩阵,一个神奇又令人崩溃的东西,常常用来优化序列递推 在百度百科中,矩阵的定义: 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵.这一概念由19世纪英国数学家凯利首先提出. 好,很高深对吧.那我们就更加直接地理解一下矩阵的实质:二维数组 好了这个SB都会,就不解释了 同二维数组一样,矩阵是一个'纵横排列的二维数据表格',它一般是一个n*m的二维数组,其中n*m表示它有n行m列 每一位上的数可以用下标i,j来表示,形如这样一个矩阵:

斐波那契数列小结

关于斐波那契数列,相信大家对它并不陌生,关于其的题目也不在少数. 我现在总结一下有关它的一些有趣的性质. 基础问题 1.求斐波那契数列的第k项 常规方法是利用f[i]=f[i-1]+f[i-2],时间复杂度为O(n) 显然最多处理到1e7 假如n到1e18怎么办,O(n)显然就T飞了. 我们考虑利用什么方法来加速 斐波那契数列数列是其次线性递推式 所以是可以利用矩阵乘法进行求解的 $$ \left [ \begin{matrix} 1 & 1 \\ 1 & 0  \end{matrix}

使用递归解决斐波那契数列的性能问题

我们知道斐波那契数列(也称作兔子数列)  1,1,2,3,5,8,13,21,34..... 前两位数固定是1,之后每一位数都是前两位数的之和,这样的数列就是斐波那契数列 那么我们要求这样的数列,就必须要求n-1和n-2位数 function getFB(n){ if(n == 1 || n == 2){ // 这里我们先保持前两位数是1 return 1; }else { return getFB(n-1) + getFB(n-2); } } console.log(getFB(10)); 求

JavaScript 斐波那契数列 倒序输出 输出100以内的质数

|--斐波那契数列 1 //求斐波那契数列第n位 2 var n = parseInt(window.prompt('输入你要求的斐波那契数列的位数')); 3 var first = 1, 4 second = 1, 5 third; 6 if (n > 2) { 7 for (var i = 0; i < n - 2; i++) { 8 third = first + second; 9 first = second; 10 second = third; 11 document.writ

c语言:写一个函数,输入n,求斐波拉契数列的第n项(5种方法,层层优化)

写一个函数,输入n,求斐波拉契数列的第n项. 斐波拉契数列:1,1,2,3,5,8...,当n大于等于3时,后一项为前面两项之和. 解:方法1:从斐波拉契数列的函数定义角度编程 #include<stdio.h> int fibonacci(int n) { int num1=1, num2=1, num3=0,i; if (n <= 2) { printf("斐波拉契数列的第%d项为:%d\n",n,num1); } else { for (i = 2; i <

算法导论-求(Fibonacci)斐波那契数列算法对比

目录 1.斐波那契数列(Fibonacci)介绍 2.朴素递归算法(Naive recursive algorithm) 3.朴素递归平方算法(Naive recursive squaring) 4 .自底向上算法(Bottom-up) 5. 递归平方算法(Recursive squaring) 6.完整代码(c++) 7.参考资料 内容 1.斐波那契数列(Fibonacci)介绍 Fibonacci数列应该也算是耳熟能详,它的递归定义如上图所示. 下面2-6分别说明求取Fibonacci数列的