Python今日份刷题

Posted reseelei-despair

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python今日份刷题相关的知识,希望对你有一定的参考价值。

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

解题思路:列出前5级台阶可以产生多少种跳法,并观察规律  可以发现规律如下

没有台阶的时候,不用跳,0种跳法

只有1阶台阶的时候,有1种跳法

有2阶台阶的时候,有2种跳法

有3阶台阶的时候,有3种跳法

有4阶台阶的时候,有5种跳法

有5阶台阶的时候,有8种跳法

结论:除了没有台阶,1阶,2阶比较特别,3阶开始后续的跳法符合斐波那契数,即f(n)=f(n-1)+f(n-2) 函数递归可解

代码如下

技术图片
def fibonacci(n):
    if n ==0:
        result=0
        return result
    elif n==1:
        result=1
        return result
    elif n==2:
        result=2
        return result
    else:
        result=fibonacci(n-1)+fibonacci(n-2)
        return result
user_input=int(input("请输入台阶数量:"))
print("青蛙一共有%d种方案跳台阶"%fibonacci(user_input))
View Code


以上是关于Python今日份刷题的主要内容,如果未能解决你的问题,请参考以下文章

今日刷题总结7

太赞了!刷题PDF终于在GitHub上开源了!覆盖字节蚂蚁腾讯等多家大厂真题

Leetcode刷题Python LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色

今日刷题集合

今日刷题总结14

今日刷题总结19