在学习循环时,用循环写斐布拉契数列思路大致如下:

代码可以写成:

#include <stdio.h>
/*
根据输入n,计算fino级数和
fibo级数,1,1,2,3,5,8,13......
Fibo(n)=fino(n-1)+fino(n-2)  n>=3
sum=1+1+2+......@param n:int, 输入n(项数)
@return sum:int 级数和
*/int getSumFibo(int n){/***begin***/int sum=0;int item0=0;int item1=1;//前两项不遵从规律int item=item0+item1; for(int i=1;i<=n;i++)//i与计算得数无关,作用为控制循环次数 {sum+=item;item0=item1;//获取原数列的第二项 >变为新数列第一项 item1=item;//获取原数列第三项 >变为新数列第二项 item=item0+item1; //新数列第三项 }return item;/***begin***/} //testint main(){printf("%d",getSumFibo(28));return 0;}

若使用函数递归,则有:

#include <stdio.h>
int flbi(int n){if(n<=2){return 1;}elsereturn flbi(n-2)+flbi(n-1);}
int main(){int x;scanf("%d",&x);int r=flbi(x);printf("%d",r);return 0;
}

相较于循环求解,递归法似乎更好理解,但递归法存在一个和大的问题:

用递归方式写斐布拉契数列的坏处相关推荐

  1. python 递归方式实现斐波那契数列

    python 递归方式实现斐波那契数列 import time t1=time.time() def factorial(n):if n==1 or n==2:return 1else:return ...

  2. python用递归法写斐波那契_python实现斐波那契数列: 递归+备忘录法+动态规划实现...

    1.为什么备忘录法和动态规划法: 斐波那契是很多人入门递归思想的第一课,所以很多人都会最简单的一种递归写法,但是其实递归的过程,他的时间复杂度非常高,达到了O(2的n次方)这样的一个指数级别. 先看最 ...

  3. JAVA(4)学习笔记:JVM虚拟机上的栈、大驼峰命名法和小驼峰命名法、实参和形参、重载方法、调用栈、递归练习(汉诺塔+斐波那契数列)、数组的定义、数组的初始化、增强for循环。

    接上次的博客:JAVA学习(3)--知识整理以及一些简单程序(猜数字游戏.求各种自幂数.求出一个数字的二进制位中1的个数.获取一个数二进制序列中所有的偶数位和奇数位.求公约数的多种实现方式.输入密码程 ...

  4. 斐波纳契数列。递归和非递归分别实现求第n个斐波那契数。(从第3项开始每1项的值为前两项的和)

    1:非递归方式实现斐波那契数列. 因为斐波那契数列条件,所以我设计了这个算法,将后一项的值赋给前一项,,再不断累加. 最后跳出循环. 接下来我重点介绍递归的方法: 递归:通俗来说就是函数自己调用自己, ...

  5. python斐波那契数列

    转自:https://www.cnblogs.com/wolfshining/p/7662453.html 斐波那契数列即著名的兔子数列:1.1.2.3.5.8.13.21.34.-- 数列特点:该数 ...

  6. python实现数字循环相加_python使用递归、尾递归、循环三种方式实现斐波那契数列...

    在最开始的时候所有的斐波那契代码都是使用递归的方式来写的,递归有很多的缺点,执行效率低下,浪费资源,还有可能会造成栈溢出,而递归的程序的优点也是很明显的,就是结构层次很清晰,易于理解. 可以使用循环的 ...

  7. python递归方式和普通方式实现输出和查询斐波那契数列

    斐波那契数列 斐波那契数列(Fibonacci sequence),是从1,1开始,后面每一项等于前面两项之和. 如果为了方便可以用递归实现,要是为了性能更好就用循环. 递归方式实现生成前30个斐波那 ...

  8. 斐波那契数列python递归 0、1、1、2、3_python实现斐波那契数列的多种方式

    正文共: 3269字 8图 预计阅读时间: 9分钟 每日分享 The great pleasure in life is doing what people say you cannot do. 人生 ...

  9. 用C语言写爬楼梯(斐波那契数列的应用,迭代与递归)爬楼梯问题超详细,看完这一篇就够了。

    爬楼梯问题实际上就是斐波那契数列的应用,首先我们讲讲什么是斐波那契数列.因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列" ...

最新文章

  1. 万字长文,一文搞懂TCP/IP和HTTP、HTTPS
  2. 阻塞与非阻塞的IO网络读写
  3. 清华唐杰团队:一文看懂NLP预训练模型前世今生
  4. 人人可用的在线抠图,还是AI自动化的那种!北大校友的算法被玩出新高度
  5. JavaScript 编程精解 中文第三版 十一、异步编程
  6. 关于membership的进一步理解
  7. 使用ReportStudio打开cube模型创建报表出现两个最细粒度名称
  8. 为Mac OS X添加用Firefox搜索服务
  9. mysql日期为00_MySQL 8.0.13 设置日期为0000-00-00 00:00:00时出现的问题
  10. 【模拟】Codeforces 711A Bus to Udayland
  11. 安徽省计算机二级考试教程,安徽省计算机二级自学教程推荐:Office高级应用上机指导(2018年版)...
  12. 同事线上埋的这个坑,我整整找了3天3夜
  13. java 财付通支付_微信微信支付已拿下51%的份额,远超支付宝的41%
  14. Linux文件系统格式EXT3,EXT4和XFS的区别
  15. python读取文件夹中的所有图片并将图片名逐行写入txt中
  16. iOS 实现3Dtouch
  17. 如何用Diffusion models做interpolation插值任务?——原理解析和代码实战
  18. stm32f105vct6例程_STM32F105VCT6
  19. 线性滤波和非线性滤波
  20. CLOSE_WAIT和TIME_WAIT

热门文章

  1. Vue启动本地(.exe)文件
  2. imgcook设计稿生成代码插件
  3. 台湾 等学位论文下载
  4. 冲击红队第一天 - Web安全介绍与基础入门
  5. 【摘】WebGIS开发从入门到......
  6. 微软云的一些说明(整理)
  7. 《Redis设计与实现》笔记|SDS动态字符串|链表字典跳跃表整数集合压缩列表结构|redis中的对象|数据库原理|RDB持久化|AOF持久化|事件与多路利用模型|发布订阅原理|事务原理|慢查询日志
  8. javascript 快速获取图片实际大小的宽高
  9. 【超融合】818超融合发展经历了哪几个阶段!
  10. hdu 2475 box LCT