当前位置: 首页 > news >正文

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

#include <stdio.h>
int fun(int n){
    if(n<=2){
        return 1;
    }
    return fun(n-2)+fun(n-1);
}
int main(){
    printf("请输入要求的项数(0是第一项,1就是第二项,以此类推)(大于0):\n");
    int a=0;
    if(scanf("%d",&a)!=1 && a<0){
        printf("输入不合法,请输入大于0的整数\n");
        return 1;
    }
    int x=fun(a);
    printf("斐波那契数列第%d项是%d",a+1,x);
    return 0;
}

斐波那契数列是数学中很经典的数列,如下:

 他的树状结构是:

        F(4)
       /     \
    F(3)     F(2)
   /   \     /   \
F(2)  F(1) F(1) F(0)
 /  \
F(1) F(0)

这样就很简单了,定义递归就行了:

让n<=2的时f(n)=1;然后第三项开始调用递归即可

递归过程不懂的小伙伴可以看:

(C语言)递归函数教学(C语言教学)-CSDN博客

部分运行结果如下:

请输入要求的项数(0是第一项,1就是第二项,以此类推)(大于0):
10
斐波那契数列第11项是55
请按任意键继续. . .

注:该代码是本人自己所写,可能不够好,不够简便,欢迎大家指出我的不足之处。如果遇见看不懂的地方,可以在评论区打出来,进行讨论,或者联系我。上述内容全是我自己理解的,如果你有别的想法,或者认为我的理解不对,欢迎指出!!!如果可以,可以点一个免费的赞支持一下吗?谢谢各位彦祖亦菲!!!!!

相关文章:

  • uniapp-x vue 特性
  • 通过 API 将Deepseek响应流式内容输出到前端
  • 论文精度:Transformers without Normalization
  • 提示词模板
  • KNN算法性能优化技巧与实战案例
  • vuex持久化存储,手动保存到localStorage,退出登录时清空vuex及localStorage
  • 【数据库】掌握MySQL事务与锁机制-数据一致性的关键
  • Vue:单文件组件
  • Spring Boot 启动顺序
  • k8s-coredns-CrashLoopBackOff 工作不正常
  • QT多媒体播放器类:QMediaPlayer
  • ollama搭建deepseek调用详细步骤
  • flutter 专题 九十八 Flutter 1.7正式版发布
  • EmbodiedSAM:在线实时3D实例分割,利用视觉基础模型实现高效场景理解
  • I211学习笔记
  • vue3:request.js中请求方法,api封装请求,方法请求
  • 28.Vulmap:Web 漏洞扫描与验证工具
  • Unity | 工具类:单例总结
  • Windows安装MySQL5.7.26教程图解
  • LeetCode 解题思路 20(Hot 100)
  • 外交部部长助理兼礼宾司司长洪磊接受美国新任驻华大使递交国书副本
  • 广西壮族自治区政府主席蓝天立任上被查
  • 阿里上财年营收增6%,蒋凡:会积极投资,把更多淘宝用户转变成即时零售用户
  • 俄乌官员即将在土耳其会谈,外交部:支持俄乌开启直接对话
  • 马上评|清理“滥竽充数者”,为医者正名
  • 工商银行杭州金融研修院原院长蒋伟被“双开”