定制网站小明爬楼梯--python

'''题目:一共有15台阶,定制网站小明每次可以爬一节,或者两节,或者三阶。思路:定制网站第一种如果把她用数学定制网站语言符号化1定制网站阶台阶分解成1,定制网站意味着只有一种方法;2定制网站可以分解成2和1 1意味着二阶台阶有两种算法。3可以分解成 0 3,2 1,1 2 ,111四种上法。用字典表达式{1:1,2:2,3:4}思想是不管你上多少台阶都是由123台阶上法组合而来的。考虑一下如何到达第4层楼梯4可以分解成0 4,3 1 ,1 3 ,2 2,2 1 1,1 2 1,1 1 2 ,1 1 1 1分解成8种而只能用1 2 3 组合所以7种5可以分解成16种,因为只能用1 2 3 组合所以13种6可以分解为32种,因为只能用1 2 3 组合所以24种删除元素的规律我没有找到,换下面的思路进行写题第二种思路:如何到达5台阶呢?从4台阶上一个从3台阶上两个从2台阶上三个只有以上这三种情况,三种情况相加就是就是达到5台阶的总算法设到达4台阶有x种方法,到达3台阶有y种方法,到达2台阶有z种方法所以到达5台阶就是x+y+z转成函数就是下列函数表达式f(n)=f(n-1)+f(n-2)+f(n-3) n>=4'''def climbStairs1(n):#递推法    a=1    b=2    c=4    for i in range(n-3):        c,b,a=a+b+c,c,b    return cprint(climbStairs1(15))上面用的是斐波那契数列算法下面是递归算法def climbStairs2(n):    first={1:1,2:2,3:4}    if n in first.keys():        return first[n]    else:        return climbStairs2(n-1)+climbStairs2(n-2)+climbStairs2(n-3)print(climbStairs2(15))'''如果最多爬四阶台阶,原理是一样的怎么到达15台阶?14上一层13上二层12上三层11上四层f(n)=f(n-1)+f(n-2)+f(n-3)+f(n-4)'''def climbStairs3(n):    first={1:1,2:2,3:4,4:8}    if n in first.keys():        return first[n]    else:        return climbStairs3(n-1)+climbStairs3(n-2)+climbStairs3(n-3)+climbStairs3(n-4)print(climbStairs3(15))

那个数学语言算法是我第一种想到的解法,奈何没有找到删除规律,只能搁浅。希望大家可以给我提下见解,谢谢你们在我修炼路上提供的帮助。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发