25级阶梯,每次走一步或两步,问最多有多少种走法

【面试题】N级台阶(比如100级),每次可走1步或者2步,求总共有多少种走法? 走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步、2步或者3步,问走完这100级台阶总共有多少种走法?一、 题目分析这个问题本质上是斐波那契数列,假设只有一个台阶,那么只有一种跳法,那就是一次跳一级,f(1)=1;如果有两个台阶,那么有两种跳法,第一种跳法是一次跳一级,第二种跳法是一次跳两级,f(2)=2。如果有大于2级的n级 阅读详情

分析:
共有25个阶梯,每一步走法共有两种,走一级,或是走两级。分两种情况:如果第一次走两级的话,那么还有
25-2=23级阶梯要走。再求剩下23级阶梯共有多少走法。如果第一次走一级的话,那么还有25-1=24级阶梯
要走,于是走完25级阶梯的方法总数,就等于爬完23级阶梯总共方法+爬完24级阶梯的方法总数。而23极又可
再分为(23-1)、(23-2)级阶梯。依次类推,可见这是一个典型的递归类型。我们可以很容易的计算出当
有1级和2级阶梯的时候所有的次数:分别为1和2。于是计算方法总数的函数如下:

---------------------------------getNum()---------------------------------------------
public int getNum(int i)
 {
  int r=0;
  if(i>2)
  {
   num=getNum(i-1)+getNum(i-2);
   return num;
  }
  else if(i==1)
  {
   r=1;
  }
  else if(i==2)
  {
   r=2;
  }
  return r; 
 }
---------------------------------------------------------------------------------------
测试程序使用java编写.运行使用命令:java stair 25

8086汇编实验报告怎么写?DOSBox+MASM环境搭建与调试全攻略 汇编语言是理解计算机底层运行机制的基础,实验报告则是动手能力的直接体现。通过8086汇编实验,学生可掌握寄存器、内存、标志位等核心概念。DOSBox和MASM提供了16位实模式程序的编译调试环境,DEBUG工具能直观展示每条指令前后的状态变化,使抽象原理变为可验证的实践。技术价值在于,这种“过程可重放”的方式能帮助排查问题,并支撑实验报告的客观可信。在计算机课程与工程训练中,规范呈现实验目的、原理、步骤、代码、结果及总结,可显著提升报告的严谨性。围绕8086汇编实验,介绍基于DOSBox+MASM的环境搭建 阅读详情

相关推荐

Ultralytics YOLO模块自定义与替换实战技巧

本文详细介绍了在Ultralytics YOLO框架中进行模块自定义与替换的实战技巧。通过从零开始添加全新模块(如注意力模块)到进阶替换现有模块(如增强版卷积),并涵盖模块注册、YAML配置、模型融合及ONNX导出等关键步骤,帮助开发者深度定制YOLO模型,以应对复杂检测任务与部署需求。

numpy6sculptor的博客 932

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

前言: 其实这个题目挺简单的,可以分分钟看懂,但是分析过程非常经典,故记录下来以后复习。 分析 1、n=0 和 n=1 的时候 并没有其他可选择的,所以可以得出f(0)=0;f(1)=1; 2、n>=2时情况就变复杂起来,但是这个时候可以操作的步骤也就2种 也就是走1步(n-1)与走2步(n-2)。所以可以得到f(n)=f(n-1)+f(n-2); 从当前状态转为下一状态

东风夜放花千树 3万+

OTN设备核心知识速记

本文章为工作笔记,若有错误,还需大家指正。不定期更新。

Hiddengold的博客 2650

函数递归( 登台阶问题)

我们可以发现爬n级楼梯,爬一级后还有n-1级,爬二级后还有n-2级。到最后其实就是爬一级和爬两级的问题。所以是一个递归问题。再到有三级时,第一次我们既可以爬一级也可以爬两级,简单推算就知道有三种。一段楼梯共n级台阶,每次只能走一级,或两级,问共有多少种走法?当有两级时有两种,一次是一级一级爬,一次是直接爬两级。当有一级时只有一种,那就是爬一次。

xylaaaaa的博客 355

【实战指南】Green Hills MULTI-IDE 从零安装到工程创建全流程

本文详细介绍了Green Hills MULTI-IDE从零安装到工程创建的全流程,包括系统要求检查、安装步骤、工程配置及调试技巧。特别适合嵌入式开发新手快速上手这款专业IDE工具,提升开发效率。

weixin_28740299的博客 480

中兴B860AV2.1-A刷机避坑指南:晶晨免拆神器+安卓7.1.2固件实测

本文提供中兴B860AV2.1-A机顶盒的详细刷机教程,重点介绍使用晶晨免拆神器配合安卓7.1.2线刷固件包的实操步骤。内容涵盖刷机前的硬件确认、工具准备、软件设置、烧录全过程监控及常见问题解决,旨在帮助用户安全、高效地完成刷机,规避变砖风险,释放设备潜力。

pytorch8learner的博客 752

一个小孩上楼梯,可以走 一步, 两步,三步, 问走n阶楼梯有多少种走法(Java 递归与迭代)

上楼梯有多少种走法 一个小孩上楼梯,可以走 一步, 两步,三步, 问走n阶楼梯有多少种走法 public class _上楼梯有多少种走法 { /** * 一个小孩上楼梯,可以走 一步, 两步,三步, 问走n阶楼梯有多少种走法 * f(1)=1; f(2)=2; f(3)=4; f(5)=7; 推出 f(n)=f(n-1)+f(n-2)+f(n-3); * @param args */ static final int mod = 1000000007; public s

weixin_44240648的博客 711

路径规划 | 图解RRT*算法(附ROS C++/Python/Matlab仿真)

RRT*算法针对传统RRT算法进行了渐进最优改进,在添加节点到搜索树的过程中进行重连选择。本文图解RRT*算法原理,并采用ROS C++、Python、Matlab三种语言实现算法,加深理解

FRIGIDWINTER的博客 9408

腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法【原】

有个同学去了腾讯,他说面试时有这么一道思维题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法? 我的思路: 我的思维比较直线简单: 1,求出走上去可能有的方式,这里的方式是指:共走多少个

wcqlwyt的博客 956

优快云专栏限时活动!福利公告必读!

本人优快云付费专栏周排名27名专业博主,每周文章平均阅读量约7w以上!

FJN110的博客 3157

【AI智能体】Claude Code +Superpowers 项目实战操作详解

Claude Code +Superpowers 项目实战操作详解

congge 4055

腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法...

有个同学去了腾讯,他说面试时有这么一道思维题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法? 费波拉希数列: peter的方法虽然不能求得50层的次数,但是可以求得前30多层。依次如下: 一共1个台阶的话有1种走法. 一共2个台阶的话有2种走法. 一共3个台阶的话有3种走法. 一共4个台阶的话有5种走法. 一共5个台阶的话有8种走法. 一共6个台阶...

QQ2947812643的博客 486

使用MATLAB和Simulink来设计并仿真一个智能家居多传感器数据融合系统

智能家居多传感器数据融合系统旨在通过集成来自多种不同类型的传感器的数据,以提供更精确和可靠的环境信息或用户状态监测。例如,将温度、湿度、光照强度、运动检测等多种传感器的数据结合起来,可以更好地了解家庭内部的状态,并做出相应的调整或响应。在这个教程中,我们将使用MATLAB和Simulink来设计并仿真一个智能家居多传感器数据融合系统。

amy_mhd的博客 191

腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法

腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法【原】 有个同学去了腾讯,他说面试时有这么一道思维题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法? 我的思路:  我的思维比较直线简单: 1,求出走上去可能有的方式,这里的方式是指:共走多少个1步,多少个2步。比如说,你走了2个1步,其余走2步,要走24个2步,用对象存起来就是:{one:

xxc的专栏 3732

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

爬楼梯,计算有多少种方法(1125)

题目描述: 楼梯有n级台阶,上楼可以一步上1级,也可以一步上2级,计算有多少种不同的走法 其中n<=35 输入描述: 一个正整数n,占一行 输出描述: 一个整数,占一行,问题的结果,数据保证输出在32位有符号整型数据范围内。 样例输入: 20 33 样例输出: 10946 5702887 思想:巧妙利用了分治递归的思想,将大数...

weixin_30550271的博客 467

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法【原】...

有个同学去了腾讯,他说面试时有这么一道思维题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法?我的思路:我的思维比较直线简单:1,求出走上去可能有的方式,这里的方式是指:共走多少个1步,多少个2步。比如说,你走了2个1步,其余走2步,要走24个2步,用对象存起来就是:{one:2,two:24}2,每个方式的走法是可以通过排列组合公式算出来的。如下是排列组合公式: 3,用到...

weixin_30642561的博客 527

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

动态规划的楼层算法

这是一种常用的算法,本人摸索出一个规律: 就是 n层阶梯,每次最多m个台阶,一共有F(n) = F(n-1) + F(n-2)+ F(n-m)种走法,或者把上楼层想象为下楼!!!理论在这:http://www.cnblogs.com/CCBB/archive/2009/04/25/1443441.html # -*- coding:utf8 -*- c...

weixin_33979363的博客 193

Java趣味编程案例19----楼梯台阶(对代码仍有疑惑,后期补心得及分析)

问题:一共有10个台阶的楼梯,从下面走到上面,一次只能迈一个台阶或两个台阶,并且不能后退,走完这个楼梯共有多少种方法。 代码: package _5InterestingEquation; import java.util.ArrayList; import java.util.List; /* 楼台阶梯 */ public class _5_2 { //打印走法 publ...

ayangann915的博客 601

算法之递归算法(斐波那契数列之美)(100级阶梯,1,2步,几种方法)

原题如下, 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了《斐波纳契数列》季刊,专门刊载这方面的研究成果。

wisdom605768292的专栏 4875

c语言编写同构数1000,中国大学MOOC(C语言程序设计精髓)作业

第十五周 练兵区编程题1、计算零件数(4分)题目内容:有一堆零件(100–200之间),如果分成4个零件一组的若干组,则多2个零件,如果分成7个零件一组的若干组,则多3个零件,如果分成9个零件一组的若干组,则多5个零件,编程计算这堆零件的总数。输入格式: 无输出格式: “%d\n”为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000...

weixin_34194520的博客 985

hdu 2041:超级楼梯(水题,递归)

超级楼梯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23642 Accepted Submission(s): 12153 Problem Description 有一楼梯共M级,刚开始时你在第一级,若每次...

weixin_30419799的博客 90

递归面试题

腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法? 分析题目: 到第一层只有一种情况上一阶即可即为1 到第二层有两种情况11和2 到第三层有111、12、21三种情况 到第四层有1111、121、112、22、211吴种情况 ... 要到第50层要么从48层上两阶到达或者从49层上一阶到达 f(50)=f(49)+f(4

Nancy1018的博客 761
上一篇: 安全的基础----学习java安全之前的准备
下一篇: Java异常处理的陋习展播
start_java
博客等级 码龄22年 5粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值