python123跳台阶
时间: 2023-11-17 21:04:26 浏览: 37
以下是两种不同的Python跳台阶的例子:
1. 输入台阶数,输出一共有多少种跳法
```python
def jumpFloor(number):
if number <= 0:
return 0
if number == 1:
return 1
if number == 2:
return 2
return jumpFloor(number-1) + jumpFloor(number-2)
print(jumpFloor(3)) # 输出:3
```
2. 一只青蛙一次可以跳上1级台阶,也可以跳上2级。请问该青蛙跳上一个n级的台阶总共有多少种跳法。
```python
def jumpFloor(number):
if number <= 0:
return 0
if number == 1:
return 1
if number == 2:
return 2
a, b = 1, 2
for i in range(3, number+1):
a, b = b, a+b
return b
print(jumpFloor(3)) # 输出:3
```
相关问题
python 青蛙跳台阶
青蛙跳台阶问题是一个经典的递归问题,可以使用递归或动态规划来解决。以下是使用递归和动态规划两种方法的Python代码:
使用递归:
```python
def jumpFloor(n):
if n <= 2:
return n
else:
return jumpFloor(n-1) + jumpFloor(n-2)
```
使用动态规划:
```python
def jumpFloor(n):
if n <= 2:
return n
dp = [0] * (n+1)
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
dp[i] = dp[i-1] + dp[i-2]
return dp[n]
```
python青蛙跳台阶
青蛙跳台阶是一个经典的递归问题,可以使用递归或动态规划两种方法来解决。
假设青蛙要跳上n级台阶,那么可以分两种情况考虑:
1. 第一步跳1级,那么剩下的台阶数为n-1,此时的跳法数目等于跳上n-1级台阶的跳法数目;
2. 第一步跳2级,那么剩下的台阶数为n-2,此时的跳法数目等于跳上n-2级台阶的跳法数目。
因此,跳上n级台阶的跳法数目等于跳上n-1级台阶的跳法数目加上跳上n-2级台阶的跳法数目。这个思路可以用递归实现,也可以用动态规划实现。
下面是使用递归实现的代码:
```python
def jump(n):
if n == 1:
return 1
elif n == 2:
return 2
else:
return jump(n-1) + jump(n-2)
```
使用动态规划实现的代码如下:
```python
def jump(n):
if n == 1:
return 1
elif n == 2:
return 2
else:
dp = [0] * (n+1)
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
dp[i] = dp[i-1] + dp[i-2]
return dp[n]
```
以上两种方法都可以求出青蛙跳上n级台阶的跳法数目。