当前位置: 首页 > 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
请按任意键继续. . .

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

http://www.dtcms.com/a/77226.html

相关文章:

  • 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)
  • 再学:合约继承 、抽象合约 solidity接口、库、事件 合约重入攻击
  • C语言论递归函数及其本质
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(6)
  • 中兴B860AV3.2-T/B860AV3.1-T2_S905L3-B_2+8G_安卓9.0_先线刷+后卡刷固件-完美修复反复重启瑕疵
  • Linux--内核进程O(1)调度队列
  • 20分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
  • 画册相册图库摄影画廊H5开源版开发
  • 论文阅读:SCI 1区 RADAR: Robust AI-Text Detection via Adversarial Learning
  • TypeScript + Vue:类风格组件如何引领前端新潮流?
  • 植物知识分享论坛毕设