C语言递归求斐波那契数列

左手的ㄟ右手 2022-02-18 17:43 417阅读 0赞

斐波那契数列指的是这样一个数列:1,1,2,3,5,8, 13, 21, 34, 55, 89, 144, …

通过观察我们发现,该数列的规律为:从第三个数开始,每一个数等于前两个数之和。

递归求斐波那契数列:

  1. #include<stdio.h>
  2. int fun(int n)
  3. {
  4. if(n==1||n==2)//通过数列的规律发现,前两项都为1,作为递归的终止条件
  5. {
  6. return 1;
  7. }
  8. else
  9. {
  10. return fun(n-1)+fun(n-2);//要求第n项,就是求n-1项和n-2项的和
  11. }
  12. }
  13. int main()
  14. {
  15. int i,n;
  16. printf("请输入你要打印的斐波那契数列项数:\n");
  17. scanf("%d",&n);//n为打印的项数
  18. printf("斐波那契数列:");
  19. for(i=1;i<=n;i++)
  20. {
  21. printf("%d ",fun(i));//fun函数返回的是第i项,所以用for循环打印每一项
  22. }
  23. return 0;
  24. }

输出结果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NnczcyMw_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,417人围观)

还没有评论,来说两句吧...

相关阅读