【大话数据结构C语言】13 栈的应用 - 递归的实现

举报
CodeAllen 发表于 2021/10/30 00:19:39 2021/10/30
【摘要】 经典的递归例子:斐波那契数列(Fibonacci) 其函数表达式为: 递归定义: 其实在现代语言中,调用自己和其他函数没有什么本质的不同,这种直接调用自己的或通过一系列的调用语句间接的调用自己的函数...

经典的递归例子:斐波那契数列(Fibonacci)

其函数表达式为:
在这里插入图片描述

递归定义:
其实在现代语言中,调用自己和其他函数没有什么本质的不同,这种直接调用自己的或通过一系列的调用语句间接的调用自己的函数,就是递归函数

递归有一个非常重要的注意点就是,必须至少有一个条件,满足时递归不在进行然后返回

#include <stdio.h>

/* 斐波那契的递归函数 */
int Fbi(int i)  
{
    if( i < 2 )
        return i == 0 ? 0 : 1;  
    return Fbi(i - 1) + Fbi(i - 2);  /* 这里Fbi就是函数自己,等于在调用自己 */
}  

int main()
{
    int i;
    int a[40];  
    printf("迭代显示斐波那契数列:\n");
    a[0]=0;
    a[1]=1;
    printf("%d ",a[0]);  
    printf("%d ",a[1]);  
    for(i = 2;i < 40;i++)  
    { 
        a[i] = a[i-1] + a[i-2];  
        printf("%d ",a[i]);  
    } 
    printf("\n");
    
    printf("递归显示斐波那契数列:\n");
    for(i = 0;i < 40;i++)  
        printf("%d ", Fbi(i));  
    return 0;
}

  
 

在这里插入图片描述

文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/109540772

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。