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

【C语言】跳台阶

相信你是最棒哒!!!

一、题目描述

二、题目代码

1.斐波那契数列

2.DFS深度搜索

总结


一、题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

二、题目代码

1.斐波那契数列

2.递归

注释版

#include <stdio.h>

// 定义全局变量n,用于存储输入的数字
int n;

// 定义递归函数dfs,用于计算斐波那契数列的第x项
int dfs(int x) {
    // 如果x为1,返回1(斐波那契数列的第一项)
    if (x == 1) return 1;
    // 如果x为2,返回2(斐波那契数列的第二项)
    if (x == 2) return 2;
    // 否则,返回前两项的和(递归调用dfs函数)
    return dfs(x - 1) + dfs(x - 2);
}

int main() {
    // 从标准输入读取一个整数n
    scanf("%d", &n);
    // 调用dfs函数,计算斐波那契数列的第n项
    int res = dfs(n);
    // 将结果输出到标准输出
    printf("%d\n", res);
    return 0;
}

解析版

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

总结

  1. dfs 函数

    • 这是一个递归函数,用于计算斐波那契数列的第 x 项。

    • 如果 x=1,返回 1。

    • 如果 x=2,返回 2。

    • 否则,返回 dfs(x−1)+dfs(x−2),即前两项的和。

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

相关文章:

  • Vue2 快速过度 Vue3 教程 (后端学习)
  • NO.68十六届蓝桥杯备战|基础算法-离散化|火烧赤壁|贴海报(C++)
  • 深圳漫云科技户外公园实景儿童剧本杀小程序:开启亲子互动新纪元
  • Windows下使用sshfs挂载远程文件夹及挂载问题解决方案
  • windows11在连接第二屏幕之后没有声音问题
  • 基于RPA的IT运维服务方案
  • JAVA类和对象
  • 【电视软件】小飞电视v2.7.0 TV版-清爽无广告秒换台【永久更新】
  • I/O进程2
  • 【MySQL 数据库】数据库的操作
  • Quartz MisFire补偿机制 任务补偿 任务延迟 错过触发策略
  • 自然语言处理利器NLTK:从入门到核心功能解析
  • 【LeetCode 热题100】139:单词拆分(动态规划全解析+细节陷阱)(Go语言版)
  • 每日算法:洛谷U535982 J-A 小梦的AB交换
  • Java虚拟机——JVM(Java Virtual Machine)解析一
  • 113. 在 Vue 3 中使用 OpenLayers 实现鼠标移动显示坐标信息
  • php-cgi参数注入攻击经历浅谈
  • Redisson分布式锁:原理、使用
  • 第16届蓝桥杯单片机模拟试题Ⅰ
  • C和C++有什么区别?
  • 基于条码数据生成校验密码的C++实现方案
  • 课程分享 | 安全设计原则
  • 使用LangChain Agents构建Gradio及Gradio Tools(5)——gradio_tools的端到端示例详解
  • 【含文档+PPT+源码】基于Python的快递服务管理系统
  • MCU软件开发使用指针有哪些坑?
  • 基于 SmartX 原生容灾能力构建简单经济的容灾方案:5 大场景与 4 例实践合集
  • 【我赢职场】欣旺达电子股份在线测评解析
  • pyTorch-迁移学习-学习率衰减-四种天气图片多分类问题
  • 基于ElasticSearch的向量检索技术实践
  • 设计模式 四、行为设计模式(1)