有n步台阶,一次只能上1步或2步,共有多少种走法

循环迭代:
1 public class steps {
2 public int js(int n) {
3 int one = 2; //初始化为第三级台阶最后跨一步的走法
4 int two = 1; //初始化为第三级台阶最后跨两步(一下迈过去两个台阶)的走法
5 int sum = 0; //总走法
6 for (int i = 3; i <= n; i++){
7 sum=one+two; //当i=3时,sum为最后跨一步one:到2级台阶的走法 + 最后跨两步two:到1级台阶的走法
8 two=one; // 3级台阶最后跨一步的走法赋值给two,第4级台阶最后跨两步走法就是3级台阶最后跨一步的走法,即到2级台阶的走法
9 one=sum; // 将3级台阶的总走法赋值给one,第4级台阶最后跨一步的走法就是3级台阶的总走法
10 }
11 return sum;
12 }
13 public static void main(String[] args) {
14 steps a=new steps();
15 System.out.println(a.js(10));
16 }
17 }
第三个台阶,跨两步即(跨两个台阶)当n=1时, 一步当n=2时,(1)一步一步(2)直接两步(跨两台阶)到第2个台阶当n=3时,(1)跨一步:2 ->3先到2级台阶f(2),再一步到3级台阶(2)跨两步 :1->3先到1级台阶f(1),再跨两步到3级台阶
或者直接按照斐波那契数列;按照规律直接编写
1 public class steps {
2 public int js(int n) {
3 int one = 1;
4 int two = 2;
5 int sum = 0;
6 for (int i = 3; i <= n; i++){
7 sum=one+two;
8 one=two;
9 two=sum;
10 }
11 return sum;
12 }
13 public static void main(String[] args) {
14 steps a=new steps();
15 System.out.println(a.js(10));
16 }
17 }
有n步台阶,一次只能上1步或2步,共有多少种走法的更多相关文章
- 【组合数学+动态规划】在如下8*6的矩阵中,请计算从A移动到B一共有____种走法。要求每次只能向上或向右移动一格,并且不能经过P。
在如下8*6的矩阵中,请计算从A移动到B一共有__种走法.要求每次只能向上或向右移动一格,并且不能经过P. A:456 B:492 C:568 D:626 E:680 F:702 解析: 8*6的矩阵 ...
- 在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。 请问,当N=11时,你可以采用多少种不同的方式爬完这个楼梯();当N=9时呢?
在你面前有一个n阶的楼梯,你一步只能上1阶或2阶.请问,当N=11时,你可以采用多少种不同的方式爬完这个楼梯:当N=9时呢? 思路解析 ①台阶只有一级阶梯时,只有一种走法. ②当台阶有两级时,可以先走 ...
- 最短路径(给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。)
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 例: 输入: [ [1,3,1], [1,5,1], [ ...
- 学习FPGA,踏上一步台阶
学习FPGA的过程中,要想踏上一步台阶,需要注意一下几点: 时序约束的原因和使用方法,能熟练正确的应用最基本的时钟周期约束,时序例外约束,异步时钟域约束,同步复位的约束,高扇出约束. 清楚FPGA芯片 ...
- 有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?
有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完? 相关问题: (1)有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台 ...
- #添加图片,最多只能上传9张.md
#添加图片,最多只能上传9张.md 前端页面: ```javascript <form id="imgForm" enctype="multipart/form-d ...
- vsftpd匿名用户只能上传不能下载
目的 搭建一台FTP服务器,供学生上传作业使用. 要求 1.学生可以直接访问FTP服务器,无需登录: 2.只能上传文件,不能创建文件夹.重命名.删除等: 3.不能下载文件(防抄袭): 4.不能在线查看 ...
- Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图
Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图 分类: OpenCV图像处理2013-02-21 21:35 6459人阅读 评论(8) 收藏 举报 原文链接 ht ...
- 解决THINKCMF后台文章的相册图集只能上传一个图片的问题
遇到的问题: 最近使用了THINKCMF给客户开发了一个企业网站,客户在使用了一段时间后打电话说后台文章编辑页面有问题 经过沟通过知道,在后台文章编辑和添加页面相册图集每次只能上传一张图片 在跟客 ...
- plupload如何限制上传文件数量,限制只能上传单个文件
1 完整代码 $(function() { $("#uploader").pluploadQueue({ runtimes : 'html5,gears,flash,silverl ...
随机推荐
- ios马甲包过审
说明:这篇文章写的比较早了,大概是2021年上半年写的,一直放在草稿箱,目前这些方法是否被屏蔽有待验证. App Store审核机制 机器审核 人工审核 人工审核大概是玩15分钟的样子,同时有上百审核 ...
- 基于中文金融知识的 LLaMA 系微调模型的智能问答系统:LLaMA大模型训练微调推理等详细教学
基于中文金融知识的 LLaMA 系微调模型的智能问答系统:LLaMA大模型训练微调推理等详细教学 基于 LLaMA 系基模型经过中文金融知识指令精调/指令微调(Instruct-tuning) 的微调 ...
- 创建Vue项目,报错spawn yarn ENOENT
1. 使用 vue 创建项目的时候,报错 Error: spawn yarn ENOENT 1.1 用户自己设置了默认的包管理 yarn 1.2 没有安装 yarn 解决方式1: 打开 C盘 , 在 ...
- 天玑9300大战骁龙8 Gen3:十余项数据实测 到底谁才是安卓之王?
一.前言:全大核天玑9300正面硬钢骁龙8 Gen3 究竟谁才是安卓芯片之王? 今年,两家移动芯片厂商都开始放大招了,骁龙首发Cortex-X4超大核,联发科也不甘示弱,初次将"全大核&qu ...
- 【树】N叉树的遍历【力扣589、力扣590】超详细的解释和注释
说在前面 欢迎朋友们来到我的博客. 今天我们的重点是,N叉树的遍历. 今天,博主就带来两道经典的题目,领着大家理解N叉树的前序遍历和后序遍历! 当然,还想学习其它算法的朋友们,可以通过订阅博主的算法专 ...
- opcache导致的RCE复现
前言 RCE得搭配着文件上传的点来进行利用 环境搭建 用docker搭个php7的环境,作者用的php7.0 docker run -itd --name php7 -p 8083:80 php:7. ...
- 轻量级按键动作识别模块(C语言)
1.前言 继嵌入式(单片机)裸机 C 语言开发 + 按键扫描(模块分层/非阻塞式)文章后,原来的按键识别基本能满足大部分需求,但是对于双击和多击等多样化的功能需求并不能满足,因此对整个按键动作识别模块 ...
- Mac 上 snail svn 配置验证信息
这样就不用每次都得输入svn的账号 和 密码了
- electron useContentSize的详解
useContentSize作用就是 由于window窗体有边框和title区域menu等,该区域不能显示自己的html页面(new BrowserWindow 时设置frame=false禁用边框 ...
- Windows10系统下JDK1.8的下载安装及环境变量配置
1. JDK1.8安装 2. 环境变量配置点击此处:官网下载 根据自己的系统 ,下载相应的JDK版本. 1. JDK1.8安装双击下载的安装包(.exe文件),进行安装. 点击"下一步&qu ...