有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?

实现思想如下:

M=2时,走法X1=1;

M=3时,走法X2=2;

M=4时,走法X3=3;

M=5时,走法X4=5;

依次类推

M=n时,走法Xn-1=Xn-2+Xn-3,是前两项的和

所以可以用递归的思想来实现。

具体代码如下:


#include<stdio.h>

int test1(int m)    //test1()递归函数实现求总共有几种方法

{
    int x1 = 0, x2 = 0;
    int S;
    if (m == 2)
        x1 = 1;
    else if (m == 3)
        x2 = 2;
    else if (m > 3)        //m>3时可以用递归的方法来实现
    {
        x1 = x1 + test1(m - 2);
        x2 = x2 + test1(m - 1);
    }
    S = x1 + x2;
    return S;
}
void test(int m[], int n)    //test()函数输出有几种做法
{
    int i = 0;
    int sum = 0;
    for (i = 0; i < n; i++)
    {
        sum = test1(m[i]);    //调用test1()函数
        printf("%d\n", sum);
    }
}
int main()
{
    int n, i, m[100] = { 0 };
    scanf("%d", &n);    //输入n要处理的总数
    for (i = 0; i < n; i++)    //输入n组数表示阶梯数
        scanf("%d", &m[i]);
    test(m, n);    //调用test()函数
    return 0;
}

C语言实现巧妙推算走楼梯相关推荐

  1. 1195 巧妙推算走楼梯(宁波大学oj)

    题目描述 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 输入要求 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1 ...

  2. 1195 巧妙推算走楼梯

    题目描述 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 输入要求 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1 ...

  3. 动态规划走楼梯_动态规划问题为什么要画表格?

    ❝ 本文是我的 91 算法第一期的部分讲义内容.91 算法第一期已经接近尾声,二期的具体时间关注我的公众号即可,一旦开放,会第一时间在公众号<力扣加加>通知大家. ❞ 动态规划可以理解为是 ...

  4. 老鼠走迷宫php算法,C语言经典算法 - 老鼠走迷官(一)

    C语言经典算法 - 老鼠走迷官(一) 说明老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1来表 示老鼠的行走路径,试以程式求出由入口至出口的路径. 解法老鼠的走法有上.左.下 ...

  5. c语言大作业走迷宫,基于C语言实现简单的走迷宫游戏

    本文实例讲述了C语言实现简单的走迷宫游戏的方法,代码完整,便于读者理解. 学数据结构时用"栈"写的一个走迷宫程序,实际上用到双向队列,方便在运行完毕后输出经过的点. #includ ...

  6. 递归法:走楼梯; 旋转数组的最小数字(递归法和改进二分法)

    题目:走楼梯 小明在走楼梯,楼梯有n阶台阶,一次可以上1阶,2阶或者3阶,实现一个方法,计算小明有多少种走楼梯的方式 package louti; import java.util.Scanner;p ...

  7. 棋盘算法c语言程序,C语言经典算法 - 骑士走棋盘

    搜索热词 @H_301_0@下面是编程之家 jb51.cc 通过网络收集整理的代码片段.@H_301_0@编程之家小编现在分享给大家,也给大家做个参考. 说明骑士旅游(Knight tour)在十八世 ...

  8. StairDesigner.v6.04多语言含中文版 1CD(楼梯设计系统)\

    FLOMERICS.FLOTHERM.V7.1 电子电器设备空气流和热传导分析的专用CFD软件\ haoc网源码\ Petrel_2008.1.1\ PTC Intralink v3.4 M011-I ...

  9. 【动态规划】走楼梯问题

    走楼梯问题 问题:有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶.一共有多少种走法.(和铺瓷砖问题是一样的) 暴力枚举很简单,先选择可能性,再根据排列组合公式,记录. 但是 ...

最新文章

  1. 理解特征统计偏差、方差、平均值、中位数、百分数等等
  2. JavaSE简单实现多线程聊天
  3. 向右滑动返回Activity
  4. 若依前后端分离如何修改title标题呢?
  5. matlab在伪随机码,MATLAB在伪随机码的生成及仿真中的应用
  6. C语言计算表达式咋写,C语言如何计算表达式(x++)+(++x)+(x++)
  7. tree 先序遍历 叶子结点_编程:按先序序列输出二叉树的叶子结点
  8. 计算机室 多媒体教室制度,多媒体教室计算机室规章制度.doc
  9. 基于PHP、Mysql的电影院售票系统
  10. LTE系统各种指标概念(EVM,ACLR)
  11. spotify电脑下载歌曲_我来简单说一下Apple Music和Spotify的下载方法
  12. 信创操作系统--麒麟Kylin桌面版 (项目八 多媒体软件:图像查看、图像处理、音频播放、录音机)
  13. 财务人的编程自学之路
  14. 域远程管理计算机,远程控制局域网电脑 图解局域网怎么远程控制
  15. 哈夫曼树的构造与哈夫曼编码
  16. HMS Core AR Engine 2D图片/3D物体跟踪技术 助力打造更智能AR交互体验
  17. 25岁裸辞转行5G网络优化工程师:比盲目赶路更为重要的,是知道方向—分享优橙小故事
  18. mac+unity3d准备工作——磨刀
  19. APP小程序网站搭建需要什么样的服务器
  20. VR概述及初识Unity 3D

热门文章

  1. 阿里云服务器ECS有哪些优势?与普通IDC对比有哪些优势?
  2. 人工智能好找工作吗?学AI可以做什么?
  3. 基于javaweb+springboot的人脸识别登录系统(java+springboot+maven+mysql)
  4. 汇编语言编写的一个“接球游戏”
  5. fanuc机器人试题_FANUC机器人建立part carrier和跟踪参数的方法
  6. D3选择v4(一、selection)中文
  7. java网络资源直接上传至samba服务器
  8. 小红书怎么推广,如何借助小红书平台推广产品
  9. 成品app直播源码,全屏并且去掉底部虚拟导航栏
  10. B站韩顺平java学习笔记(二十五)-- 正则表达式章节