展开全部

/**

已知Fibonacci数列:1,1,2,3,5,8,……,F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)

*/

#include

#include

typedef long long int int64;

//方法1,递归法

int64 Fibonacci(int n)

{

int64 sum;

if(n<=0)

{

printf("参数值e68a84e8a2ad3231313335323631343130323136353331333433616236非法!\n");

exit(-1); //直接终止程序

}

if(n==1 || n==2)

return 1;

else

sum=Fibonacci(n-1)+Fibonacci(n-2);

return sum;

}

非递归法

int64 Fibonacci2(int n)

{

int64 a,b,c;

if(n<=0)

{

printf("参数值非法!\n");

exit(-1); //直接终止程序

}

if(n==1 || n==2)

return 1;

a=b=1;  //对前两项的值初始化

n=n-2;  //因为是从第3项开始记次数,所以减2

while(n > 0)

{

c=a+b;

a=b;

b=c;

n--;

}

return c;

}

//测试主函数

int main()

{

int n;

scanf("%d",&n); //输入n

//printf("F(%d)=%lld\n",n,Fibonacci(n));

printf("F(%d)=%lld\n",n,Fibonacci2(n));

return 0;

}

//示例运行结果

F:\c_work>a.exe

5

F(5)=5

F:\c_work>a.exe

6

F(6)=8

program fibo;var n,i:integer; rs:extended;function fib(m:integer):extended;var a,b:extended;

begin

a:=1;b:=1;if m<=2 then exit(1)else while m>3 do begin

fib:=a+b;a:=b;b:=fib;m:=m-1;end;exit(fib);end;

begin

read(n);writeln(fib(n));end.

扩展资料:

从第二项开始,每个偶数项的平方都比前后两项之积少1,每个奇数项的平方都比前后两项之积多1。

如:第二项1的平方比它的前一项1和它的后一项2的积2少1,第三项2的平方比它的前一项1和它的后一项3的积3多1。

(注:奇数项和偶数项是指项数的奇偶,而并不是指数列的数字本身的奇偶,比如从数列第二项1开始数,第4项5是奇数,但它是偶数项,如果认为5是奇数项,那就误解题意,怎么都说不通)

证明经计算可得:[f(n)]^2-f(n-1)f(n+1)=(-1)^(n-1)

python编写递归函数和非递归函数、输出斐波那契数列_分别用非递归和递归的方法编写函数求斐波那契数列第n项。斐波那契数列1,1,2,3,5,8,13,…...相关推荐

  1. 用python语言编斐波那契数列_用python函数写斐波那契数列

    斐波那契数列,又称黄金分割数列.因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上, ...

  2. 递归求出第n项斐波那契数列_Java

    public class test_Febonacci {public static void main(String[] args) {//斐波那契额数列: 1 1 2 3 5 8 13//输出第n ...

  3. java求斐波那契前n项和_算法之斐波那契数列如何求第n个值与前n项和?(Java)...

    斐波那契数列 指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n& ...

  4. 斐波那契数列python递归 0、1、1、2、3_python: 递归和递推方法求斐波那契数列

    1.  斐波那契数列 序号 0 1 2 3 4 5 6... 数列 0 1 1 2 3 5 8... 2.  三种程序 import time time1 = time.clock() #斐波那契数列 ...

  5. 递归与分治——斐波那契数列非递归,递归,与优化后的递归算法

    斐波那契数列: 1.1.2.3.5.8.13.21.-- 简单说,就是前两项的和是第三项的值. 1.求第N个斐波那契数的值(非递归) //斐波那契数列 int fun(int n) {int a = ...

  6. 循环斐波那契数列_第五课:斐波那契数列(第一课时)

    简介:又称黄金分割数列.因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34--在数学上,斐波那契数 ...

  7. 用x种方式求第n项斐波那契数,99%的人只会第一种

    作者: C you again,从事软件开发 努力在IT搬砖路上的技术小白 公众号: [C you again],分享计算机类毕业设计源码.IT技术文章.游戏源码.网页模板.程序人生等等.公众号回复 ...

  8. Java编程怎么打印输出第n项斐波拉契数

    具体实现方法: package JavaWork_03; /** Goal:求第n项斐波那契数* Author:@Tang.Mitnick* Site:ChongQing* */ //设计思想:运用一 ...

  9. 关于递归函数转换为非递归函数的一些方式

    关于递归函数转换非递归函数的一些方式 前言 目的 可行性 转换的几种途径 转换示例 第一个例子:阶乘n! 第二个例子:菲波那契数列 效率的比较 1.阶乘三种方式函数的执行效率比较 2.Fibonacc ...

最新文章

  1. 昨晚今天的记忆 Need for SpeedCarbon Demo
  2. 切换网络配置之脚本法
  3. 免焊vga3加6接线图_计数器和接近开关两线怎么接,计数器接近开关接线图
  4. iptables--静态防火墙实例教程
  5. app开发学习需要经历哪些流程
  6. json_decode用法
  7. 【maven】新建一个maven项目的基本配置
  8. k8s升级从1.13到1.16教程与采坑解决办法
  9. docker 常用操作-push分享及下载
  10. oracle instant client package,Oracle数据库之Oracle Instant Client的安装和使用
  11. 重启tomcat服务器步骤
  12. MD5加密不可逆的原因
  13. n1装linux系统升级,N1 降级刷机救砖总结
  14. visio画箭头时,如何去掉箭头的自动连接连接点(吸附)功能?
  15. 一篇文章带你了解网页框架——Vue简单入门
  16. w10取消自带杀毒服务器,如何关闭win10自带杀毒软件 Windows Defender 看完你就知道了...
  17. 软考-SMTP是什么意思
  18. 在 Notepad++ 运行 Closure Linter 来校验JS代码
  19. Fragment中OnCreate与OnCreateView区别
  20. 腾讯云安全隐私计算通过 CFCA 评测,再获国家级认可

热门文章

  1. 汉字转html实体符号js_html实体编码遇上js代码
  2. php请求接口两次,php curl post请求执行一次curl_exce 请求的接口确执行两次
  3. java有string这个类型吗_关于java的String类型
  4. python的程序格式框架_关于Python程序格式框架的描述,以下选项中错误的是
  5. linux生成图片快捷方式,在Deepin Linux系统下给AppImage格式软件创建快捷方式的方法...
  6. java测试用例编写_TestNG测试用例编写和执行
  7. 部门名称部门结构叠用_金属结构分公司三部门联合开展工会小组活动
  8. win10子linux如何重置密码,Win10如何使用Windows PowerShell命令重置本地账户密码
  9. linux降低线程优先级,Linux线程优先级,行为不正常
  10. java https soap,Java Https Soap Server(Tomcat-Axis2)