基础
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
现在要求输入一个整数n,请你输出斐波那契数列得第n项(从n开始,第n项为0) 即 0 1 1 2 3 5 …
利用公式求解
由公式:当n=1时f(n)=1
当n>1时f(n)=f(n-1)+f(n-2)
class Solution:
def Fibonacci(self,n):
if n==0:
return 0
if n==1:
return 1
if n>1:
num=self.Fibonacci(n-1)+self.Fibonacci(n-2)
return num
#注意为负数时,则返回为空
return None
但是会超时,由于递归耗时长
如果按照递归来写的话,时间复杂度就是随着n的变化增长率为2**n
更改:
class Solution:
def Fibonacci(self,n):
if n==0:
return 0
if n==1:
return 1
a=1
b=0
fn=0
for i in range(0,n-1):
#保留上次计算的结果
fn=a+b
b=a
a=fn
return fn
lcryin最近迷上了斐波那契数列,斐波那契数列的定义如下
F[1]=1;
F[2]=1;
F[n]=F[n-1]+F[n-2](n≥3);
lcryin想知道数列中某项的奇偶性,他觉得这个问题太简单了,于是把问题抛给了聪明的你。
输出:
斐波那契数列的第n项是奇数还是偶数,奇数输出even,偶数输出odd,对于每个测试实例,输出一行。
可以寻找规律:
n项数:1 2 3 4 5 6 7 8 9 …
对应值:1 1 2 3 5 8 13 21 34 …
可以看出当n项为3的倍数时对应的值为偶数
代码如下(示例):
try:
while True:
n=int(input())
if n%3==0:
print('odd')
else:
print('even')
except EOFError:
pass
每个题目注意要懂得变通,寻找规律。