有十个台阶,一步或两步走,上楼梯有几种上法?

数学解法:

5个两步走:1
4个两步走,2个一步走:5C1+5C2=15
3个两步走,4个一步走:5C1+5C2×2+5C3=35
2个两步走,6个一步走:7C1+7C2=28
1个两步走,8个一步走:9C1=9
10个一步走:1
综上:2+15+35+28+9=89种

代码递归:

#include <stdio.h>int sum = 0;//方法总数,全局变量方便作为结果传出来void main()
{void f(int n);int n = 10;f(10);printf("%d\n",sum);return;
}void f(int n)//n代表还剩下没走完的台阶数
{//如果 还剩下没走完的台阶数 小于0则不成立不算在总数内,并return结束函数if (n < 0) return;//如果正好走完则算是一种方法,方法总数sum加1(其实此处追加return也可,只不过顺序下去的递归必n<0后return,所以无关紧要)if (n == 0) sum++;//继续按照1步或2步递归试下去f(n - 1);//等此函数return后顺序执行f(n - 2)。f(n - 2);
}

有十个台阶,一步或两步走,上楼梯有几种上法?相关推荐

  1. 【题目】在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?请设计程序算出结果。

    文件名:[作业] 作者:〈漆黑〉 描述:〈 在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法?请设计程序算出结果. 〉 创建时间 ...

  2. python上楼梯问题_python解决上楼梯问题

    假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法 (此为京东2016年笔试题目) 假设n为15,从第15个台阶上往回看,有3种方法可以上来(从第 ...

  3. 2.9 解题实战:小白上楼梯(递归设计)

    Chapter2: 时间复杂度分析.递归.查找与排序 9. 解题实战:小白上楼梯 题目 小白正在上楼梯,楼梯有n阶台阶,小白一次一次可以上1阶,2阶或3阶,实现一个方法,计算小白有多少种走完楼梯的方式 ...

  4. 算法017:三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。

    题目:三步问题.有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶.2阶或3阶.实现一种方法,计算小孩有多少种上楼梯的方式.结果可能很大,你需要对结果模1000000007.示例1:输入:n = ...

  5. C语言实现寻找极值点,九之再续:教你一步一步用c语言实现sift算法、上

    教你一步一步用c语言实现sift算法.上 作者:July.二零一一年三月十二日 出处:http://blog.csdn.net/v_JULY_v 参考:Rob Hess维护的sift 库 环境:win ...

  6. 变态跳台阶问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法?

    编程题 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法? 分析 对于n级台阶,第一步的跳法有n种:跳1级.跳2级.跳3级-跳n级 跳1级, ...

  7. 【LeetCode力扣】青蛙跳台阶问题,一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。

    学习目标: 目标:熟练运用 Java所学知识 题目内容: 本文内容: 使用Java实现:青蛙跳台阶问题 文章目录 学习目标: 题目内容: 题目描述 实现思路: 实现代码: 运行结果: 题目描述 一只青 ...

  8. 笔试题:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。该题有三种解法:递归的方法求解斐波那契数列、用概率与统计的数学方法解决,3.动态规划

    笔试题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法.该题有三种解法:1.递归的方法求解斐波那契数列.2.用概率与统计的数学方法解决,3.动态规划 ...

  9. 现有n个阶梯,你有两种上法,一次走一步或着走两步,问一共有多少种上法

    问现在有N级台阶,你每次可以选择上一步或者上两步,问一共多少种上法? 这是常见的面试题之一,类似的还有生兔子问题,首先我们先来看一看解题的思路,有N级台阶,有两种上法,一次走一步或着一次走两步,如果N ...

最新文章

  1. 【大前端之前后分离01】JS前端渲染VS服务器端渲染
  2. codeforces392B
  3. stm32设置内部上拉电阻_不知道STM32的GPIO8种模式如何设置?-------看这里
  4. win10一按右键就闪屏_升级Win10正式版后屏幕一直闪烁正确的解决办法
  5. 凭什么,Netty能成为最流行的NIO框架?
  6. matlab命令查找图片,Matlab 显示图片和SubPlot命令
  7. 计算机一级报名照片是几寸的,一级建造师报名照片要几寸的
  8. 联想ts250进bios_联想Think TS250/TS550安装server 2008 R2/2012系统教程【一】
  9. twm配置文件.twmrc
  10. YOLO-V3代码解析系列(六) —— 网络预测(evaluate.py)
  11. laravel5.5利用网易邮箱发送邮件
  12. 浏览器input自动填充
  13. 谷歌AlphaFold近日宣称预测出地球上几乎所有蛋白质结构
  14. PHP实现带有验证码的登陆注册
  15. 零基础想学好C语言编程,首先要掌握的是正确的学习思路!
  16. pmon下修改分辨率示范
  17. 阿里云趣味视觉AI训练营学习笔记Day 5
  18. Java核心技术(卷1) 10th 总结(兼与Java编程思想等对比)
  19. 试题 算法训练 礼物
  20. 用ps将一张图设置成自己想要的尺寸而不变形

热门文章

  1. 必应拼音输入法与搜狗拼音输入法对比评测报告之功能评价篇
  2. 我的大学(2001-2005,从文艺青年到2B青年)
  3. 大数据揭秘诺奖评选“潜规则”
  4. sqli-labs第四关
  5. SWPU-DS)若有 n 阶对称矩阵 A,以行序为主序方式,将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在 B 中确定 a[i, j](i<j)
  6. 一位非IT人士的见血封喉 SCM与ERP的异同和尴尬(1)
  7. html5中密码要求有字母,转:正则表达式:密码必须至少包含八个字符、至少包含一个数字、小写和大写的字母以及特殊字符...
  8. Appium英文书推荐
  9. C语言实现存款利息计算
  10. 一个优秀的Linux学习网址(中文)