蓝桥杯python 自己随意总结——防止递归超时

13、先用递归或者其他方法计算出斐波那契数列值,再对10007取余会超时!

n=int(input())#键盘读入

F1,F2=1,1

for i in range(3,n+1):

    F1,F2=F2%10007,(F1+F2)%10007#先取余再递推防止超时

print(F2)

16、序列求和,能用数学公式的时候可以直接用数学公式,降低超时的风险

n=int(input())#input()是获取键盘读入函数

#注意这里不能直接迭代求和,一方面占用资源多,另一方面可能会超时。

#仔细分析问题发现是一道等差数列求和问题,直接用数学公式解决

sum=0.5*n*n+0.5*n

print(int(sum))

你可能感兴趣的:(蓝桥杯,python,职场和发展)