'''
7.斐波那契数列
**题目:**大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39。
**题解:**递归和非递归方法。
'''
class Solition():
def Fibonacci(self, n):
#递推的方法
if n==0:
return 0
if n==1:
return 1
Fib=[0 for i in range(n+1)]
Fib[0]=0
Fib[1=1
for i in range(2,n+1):
Fib[i]==Fib[i-1]+Fib[i-2]
return Fib[n]
def Fibonacci(self, n):
#递归的方法
if n==0:
return 0
if n==1 or n==2:
return 1
else:
return self.Fibonacci1(n-1)+self.Fibonacci1(n-2)
if __name__=='__main__':
solution=Solution()
n=int(input())
ans=solution.Fibonacci1(n)
print(ans)
'''
8.跳台阶
**题目:**一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
**题解:**ans[n]=ans[n-1]+ans[n-2]
'''
class Solution:
def jumpFloor(self, n):
if n==0:
return 0
if n==1:
return 1
if nu==2:
return 2
ans=[0 for i in range(n+1)]
ans[1],ans[2]=1,2
for i in range(3,n+1):
ans[i]=ans[i-1]+ans[i-2]
return ans[n]
if __name__ == '__main__':
solution = Solution()
n=int(input())
ans=solution.jumpFloor(n)
print(ans)
'''
9.变态跳台阶
**题目:**一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
**题解:**ans[n]=ans[n-1]+ans[n-2]+ans[n-3]+…+ans[n-n],ans[n-1]=ans[n-2]+ans[n-3]+…+ans[n-n],ans[n]=2*ans[n-1]。
'''
class Solution:
def jumpFloorII(self, number):
if number==1:
return 1
if number==2:
return 2
return 2*self.jumpFloorII(number-1)
if __name__=='__main__':
solution=Solution()
n=int(input())
ans=solution.jumpFloorII(n)
print(ans)
'''
10.矩形覆盖
**题目:**我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
'''
class Solution:
def rectCover(self, number):
if number==0:
return 0
if number==1:
return 1
Fib=[0 for i in range(0,number+1)]
Fib[1],Fib[2]=1,2
for i in range(3,number+1):
Fib[i]=Fib[i-1]+Fib[i-2]
return Fib[number]
if __name__=='__main__':
solution=Solution()
n=int(input())
ans=solution.rectCover(n)
print(ans)
'''
12.数值的整次方
**题目:**给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
'''
class Solution:
def Power(self, base, exponent):
ans=1
for i in range(0,abs(exponent)):
ans=ans*base
if exponent>0:
return ans
else:
return 1/ans
if __name__=='__main__':
solution=Solution()
base=float(input())
exponent=int(input())
ans=solution.Power(base,exponent)
print(ans)