动态规划——斐波那契算法
来源:互联网 发布:干部网络考试答案 编辑:程序博客网 时间:2024/05/21 06:20
请多多指教啊。
兔子生长的数目问题描述:
- 第一个月初有一对刚诞生的兔子
- 第二个月之后(第三个月初)它们可以生育
- 每月每对可生育的兔子会诞生下一对新兔子
- 兔子永不死去
假设在n月有可生育的兔子总共a对,n+1月就总共有b对。在n+2月必定总共有a+b对: 因为在n+2月的时候,前一月(n+1月)的b对兔子可以存留至第n+2月(在当月属于新诞生的兔子尚不能生育)。而新生育出的兔子对数等于所有在n月就已存在的a对。
表达式描述:
f(0) = 1;
f(1) = 1;
f(n) = f(n-2) + f(n-1)(n>=2);
实现代码如下:
#include <stdio.h>
long c[2] = {1,1};
long flag = 2;
long fib(long);
long swap(long *);
long fib_inefficient(long);
void main(){
long test = 0 ;
test = fib(45);
printf("%ld\n",test);
test = fib_inefficient(45);
printf("%ld\n",test);
}
long fib_inefficient(long n){
if(n==0||n==1){
return 1;
}else{
return fib_old(n-1)+fib_old(n-2);
}
}
long fib(long n){
if(flag==n){
return swap(c);
}
else if(n==1||n==0){
return 1;
}
else{
return fib(n-2)+fib(n-1);
}
}
long swap(long *c){
long tmp = c[1];
c[1] = tmp + c[0];
c[0] = tmp;
flag++;
return c[1];
}
- 动态规划——斐波那契算法
- 0009算法笔记——【动态规划】动态规划与斐波那契数列问题,最短路径问题
- 0009算法笔记——【动态规划】动态规划与斐波那契数列问题,最短路径问题
- 0009算法笔记——【动态规划】动态规划与斐波那契数列问题,最短路径问题
- 算法笔记-0009——【动态规划】动态规划与斐波那契数列问题,最短路径问题
- 0009算法笔记——【动态规划】动态规划与斐波那契数列问题,最短路径问题
- 算法——动态规划篇——斐波那契数列
- 《算法导论》学习笔记——钢条切割,斐波那契数列(动态规划)
- 【算法】动态规划法(斐波那契数列)
- 动态规划——斐波那契数列
- 动态规划-斐波那契数列
- 动态规划--斐波那契数列
- 动态规划斐波那契数列
- 动态规划---斐波那契数列
- 斐波那契数列的多种算法,迭代法+递归法+动态规划+矩阵幂
- 每周一刷——从斐波那契数列到动态规划
- 动态规划(1)——斐波那契数列
- 动态规划之斐波那契数列
- 安装pear及其组件
- 菱形图案的求法
- 10种排序算法总结
- ubuntu11.04下Discuz论坛的安装
- 漫画解说2013年IT行业大事件
- 动态规划——斐波那契算法
- Hibernate 4 出现错误:entity class not found:Stock
- android selector item 顺序
- freeradius连接 mysql
- GOOGLE的一道笔试题—求给定连通无环无向图可以生成的最小高度树
- Android 开发环境的配置
- 命令:ln 使用方法
- Spring Tool Suite 无法正确安装svn插件
- PS CS6功能详解:颜色查找打造多色特效