当前位置: 首页 > 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),即前两项的和。

相关文章:

  • 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++有什么区别?
  • 某互联网公司开发官网的首页/宁波seo推广服务
  • 云主机做网站永久保留网站/青岛网络科技公司排名
  • 冠县网站建设价格/百度资源平台链接提交
  • flash做网站的流程/seo技巧优化
  • 去哪找网站建设公司好/windows7系统优化工具
  • WordPress子站站群/百度网站免费优化软件下载