`

“斐波那契数列”问题的递推算法

 
阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
/**//*
标题:>应试编程实例-[递推算法程序设计]
作者:成晓旭
时间:2002年09月11日(11:52:00-16:26:00)
实现递推算法的大整数阶乖处理函数
时间:2002年09月16日(18:38:00-20:02:00)
实现“斐波那契数列”问题的递推算法函数
*/

#include
"stdio.h"
#include
"stdlib.h"
//:============================“斐波那契数列”问题的递推算法===========================
/**//*
问题描述:
标准斐波那契数列:
F(0)=0,F(1)=1,Fn)=F(n-2)+F(n-1)(当n>1时)
广义斐波那契数列:
F(0)=0,F(1)=0,F(2)=1,Fn)=F(n-3)+F(n-2)+F(n-1)(当n>2时)
*/

//标准斐波那契数列的递推算法函数
intStd_Fibonacci(intnumber)
...{
intf0=0,f1=1,result,loop;//初始值1,2,返回结果,循环计数器
if(number==0)return(0);
if(number==1)return(1);
for(loop=2;loopnumber;loop++)
...{
result
=f0+f1;//由前两步的结果计算当前结果--->“推出”
f0=f1;//把原来的前一步当作下一次的前两步--->“传递”
f1=result;//把当前结果当作下一次的前一步--->“传递”
}
//注意:在进行这种向前传递的操作时,特别小心传递的时序
return(result);
}

//广义斐波那契数列的递推算法函数
intExt_Fibonacci(intnumber)
...{
intf0=0,f1=0,f2=1,result,loop;//初始值1,2,3,返回结果,循环计数器
if(number==0||number==1)return(0);
if(number==2)return(1);
for(loop=2;loopnumber;loop++)
...{
result
=f0+f1+f2;//由前三步的结果计算当前结果
f0=f1;
f1
=f2;
f2
=result;
}
//注意:在进行这种向前传递的操作时,特别小心传递的时序[即:变量间赋值的前后关系及先后顺序]
return(result);
}

voidRun_Fibonacci()
...{
intlarge,result;
while(large!=9910)
...{
printf(
" 请输入斐波那契数列的元素个数[Enter'9910'toExit]: ");
scanf(
"%d",&large);
if(large!=9910)
...{
//result=Std_Fibonacci(large);
result=Ext_Fibonacci(large-1);
printf(
"斐波那契数据中的第[%d]= %d ",large,result);
}

}

}

//:============================“斐波那契数列”问题的递推算法===========================


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=935927


分享到:
评论

相关推荐

    算法设计实验报告之多种方法求解斐波那契数列

    用递推算法 迭代算法 公式法计算求第N个Fibonacci数,计算机能算出最大Fibonacci时N的值,计算1分钟内能计算几个Fibonacci,用公式法计算Fibonacci,当出现错误时,N为多少。

    C++基本算法思想之递推算法思想

    递推算法是非常常用的算法思想,在数学计算等场合有着广泛的应用。递推算法适合有明显公式规律的场合。...递推算法示例数学里面的斐波那契数列是一个使用递推算法的经典例子。 13世纪意大利数学家斐波那契的《算盘

    fuziwang#review#递归和循环--斐波那契数列1

    在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n&gt;=3,n∈N*)// 方法一:int F

    python 使用矩阵加速计算斐波那契数列第N项

    使用python实现的的计算线性齐次递推数列第N项的算法

    JAVA递归与非递归实现斐波那契数列

    主要为大家详细介绍了JAVA递归与非递归实现斐波那契数列,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    基础算法-python斐波那契数列的四种方法

    【基础算法】-python斐波那契数列的四种方法 # 1、递归法 def fib_recur(n): assert n &gt;= 0, "n &gt; 0" if n return n return fib_recur(n-1) + fib_recur(n-2) for i in range(1, 20): print(fib_recur(i),...

    动态规划专题之斐波那契数列1

    算法4利用斐波那契数列递推公式的特性,只保留了每个元素的当前值和它前面的2个元素值,对计算过程中产生的子问题解用过即弃,所需空间较少,但每次求解新元素的值,都需

    易语言经典算法

    斐波那契数列(递推法) 分块查找 求帕斯卡三角(杨辉三角) 箱子问题(贪婪法) 寻找文件(递归法) 求最大公约数(递归法) 取不重复数(排除法) 拉丁方 波松瓦分酒 皇后问题 背包问题 角谷猜想 邮票组合 贮油点 分解质因数 ...

    算法设计与分析小论文

    在优化算法方面,主要介绍了斐波那契数列的引用以及递推;在基本算法策略方面,主要介绍了迭代算法、蛮力法、分治算法、贪婪算法;对于图的搜索算法,主要介绍了广度优先搜索、深度优先搜索、回溯法以及分支限界法。...

    算法设计与分析PPT(C语言完整版)

    3.4.4斐波那契数列的应用 3.4.5递推关系求解方程 习题 第三篇核心篇 第4章基本的算法策略4.1迭代算法 4.1.1递推法 4.1.2倒推法 4.1.3迭代法解方程 4.2蛮力法 4.2.1枚举法 4.2.2其他范例 4.3分治算法 4.3.1分治算法...

    第二章 算法时间复杂度

    一、主定理 1、 主要是计算 n_log_b_a 。求出来之后和后面的Fn进行比较,然后按照规则些出...Fib数列递推公式的证明(斐波那契数列) 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐

    Nth-Fibonacci:在不同的编程语言中查找第 N 个斐波那契数

    斐波那契数列是由简单的线性递推关系定义的整数序列。 该序列出现在数学和其他科学的许多环境中。 特别是,许多天然存在的生物体的形状受斐波那契数列及其近亲黄金比例控制。 对于程序,第一个斐波那契数是F0 = 0 ...

    易语言5.0自带源代码[经典数学算法集.rar]

    23.斐波那契数列(递推法) 24.分块查找 25.求帕斯卡三角(杨辉三角) 26.箱子问题(贪婪法) 27.寻找文件(递归法) 28.求最大公约数(递归法) 29.取不重复数(排除法) 30.拉丁方 31.波松瓦分酒 32.皇后问题 33.背包问题 34....

    ACM算法竞赛常用代码

    组合数学(排列与组合,鸽笼原理,容斥原理,递推,Fibonacci数列,Catalan数列,Stirling数,差分序列,生成函数,置换,Polya原理) 概率论(简单概率,条件概率,Bayes定理,期望值) 矩阵(矩阵的概念和运算...

    计算机考研机试攻略 - 高分篇(试读).pdf

    3.4 斐波那契数列 75 3.5 素数判定 76 3.6 素数筛选 78 3.7 分解素因数 81 3.8 二分快速幂 83 3.9 常见数学公式总结 85 3.10 规律神器OEIS 87 第四章 高精度问题 89 4.1 Python解法 90 4.2 Java解法 91 ...

    C#,佩尔数(Pell Number)的算法与源代码

    佩尔数(Pell Number)是一个自古以来就知道的整数数列,由递推关系定义,与斐波那契数类似。佩尔数呈指数增长,增长速率与白银比的幂成正比。它出现在2的算术平方根的近似值以及三角平方数的定义中,也出现在一些...

    计算机要学哪些东西----(还有附赠哦)

    ——斐波纳契(Fibonacci)数列 鸽洞原理 排列和组合 ——基本定义 ——Pascal 恒等式 ——二项式定理 求解递推关系式 ——常见实例 ——Master定理 学习目标: 1. 计算一个集合的排列和组合,并解释在特定应用...

Global site tag (gtag.js) - Google Analytics