LUA面试题:楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序列出每一种走法。
来源:互联网 发布:ubuntu桌面图标消失 编辑:程序博客网 时间:2024/04/27 20:29
使用lua语言解出下题,分别用递归、迭代二种方式, 写出详细的代码:
楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序列出每一种走法。
例:3阶台阶的走法是
{
{ 1, 1, 1, },
{ 1, 2, },
{ 2, 1, },
}
递归:
function SteupInput( Input,Num )if Input==1 thenprint(Num .." 1 ")m = m + 1elseif Input==2 thenprint(Num .." 1 1")print(Num .." 2")m = m + 2else print("请输入正确的阶层数")endendfunction Way( InputNnum,Steup )if InputNnum<=2 thenSteupInput(InputNnum,Steup)elsefor Num=1,2 doWay(InputNnum-Num,Steup .." "..Num)endendendprint("请输入阶层数")m = 0i = io.read("*number")io.write(Way(i," "))print("一共有" ..m.. "方法")
function Way( n )resultAll = {}tempArr1 = {""}resultAll[1] = tempArr1tempArr2 = {" 1"}resultAll[2] = tempArr2for i=3,n+1 doresultAll[i] = {}for j = 1,#(resultAll[i-1]) dotable.insert(resultAll[i],resultAll[i-1][j].." 1")endfor j = 1,#(resultAll[i-2])dotable.insert(resultAll[i],resultAll[i-2][j].. " 2")endendfor i=1,#resultAll[n+1] doprint(resultAll[n+1][i])endendprint("请输入阶层数")n = io.read("number")io.write(Way(n))
0 0
- LUA面试题:楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序列出每一种走法。
- 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编程序计算共有多少种不同的走法?
- 问题五十七: 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编程序计算共有多少种不同的走法?
- 楼梯有n阶台阶,上楼可以一步上1阶,2阶,3阶,编程序计算共有多少种不同的走法?
- 楼梯有n阶台阶,上楼可以一步上1阶,2阶,3阶,编程序计算共有多少种不同的走法?
- 楼梯上有n阶台阶,上楼时可以一步上1阶,也可以一步上两阶,编写算法计算共有多少种不同的上楼梯的方法。
- 梯有N阶,上楼可以一步上一阶,也可以一次上二阶(Java实现)
- 爬楼梯问题,一共有n阶台阶,每次你可以走1或者2个台阶,到达顶端一共有多少种不同的走法?
- 一个人爬楼梯,一步可以迈一级,二级,三级台阶, 如果楼梯有N级,编写程序,输出所有走法
- 一个人走一个n阶的楼梯,他一步可以走1阶,2阶,3阶,这三种情况,问走完这n阶的楼梯共有多少种不同的走法?
- 有N个台阶,可以走两步也可以走一步 一共有多少种走法
- 有十个台阶,一步或两步走,上楼梯有几种上法?
- [算法]n阶台阶,一次走一步或两步,有多少种走法?
- 一个人上楼,他有两种走法,走一阶或走两阶,问他上N阶楼梯有几种走法?
- 一个楼梯有50个台阶,一次可以走一个台阶,也可以走两个台阶,也可以走三个台阶,问总共有多少种走法.
- java:递归:上楼梯每次只能一步或者两步,有多少走法
- N个台阶,一次可以走一步或者两步,求走这n个台阶有多少种方法(递归和非递归实现)
- N阶楼梯上楼问题
- apue 第12章 线程控制
- 【C语言 每日一题】SOJ 1000 A-B
- GSON方法写入
- apue 第13章 守护进程
- 蓝桥——你的密码安全吗?
- LUA面试题:楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序列出每一种走法。
- apue 第14章 高级I/O
- Java内存模型及内存溢出
- 求两个整数的最大公约数和最小公倍数
- 19. 网购秒杀系统架构分析
- 取小数
- 环形进度条的制作
- 【云计算】什么是云计算
- apue 第15章 进程间通信