蓝桥杯基础练习python----Fibonacci数列

  • 试题展示

蓝桥杯基础练习python----Fibonacci数列_第1张图片

  • 本题中要求不用算出数列的准确值,为什么

求出原数再求余,运行超时,

  • python给多个变量赋值时使用的语法结构

a,b=b,a+b。这里的赋值语句,实现了将a+b赋给b的同时,又将原来的b赋给a的功能,计算的先后顺序应该是先算后面的

  • 怎样解决运行超时的问题

首先了解运行为什么超时,数据量大。刚开始写题的时候,不明白为什么不求出原数,直接求出余数的结果一样吗,可以这样想,当Fn超过10007时,去掉10007,取余数的结果还是一样的,

  • 代码展示
n=int(input())
a,b=1,1
for i in range(n-2):
    a,b=b,(a+b)%10007
print(b)

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