蓝桥杯基础练习~

试题 基础练习 Fibonacci数列

if __name__=='__main__':
  n = int(input())
  l = [1]*3
  if n ==1 or n==2 :
    print(1)
  for i in range(2,n):
    l[2] = int(l[0] +l[1])%10007
    l[0] =l[1]
    l[1] =l[2]
    if i == n-1:
        print(l[2]%10007)
##  每次只取三个  是为了防止内存超出
##  取余计算      是为了防止运行超时

运行超时那里我不太明白为什么每次取个余就能不超时~有没有大佬能指点一下我啊!!!!! 是给l[2]赋值那里的取余~

定义二维矩阵可以直接讲list定义进去,实现边键入边存数

s = [list(map(int,input().split())) for i in range(n)]

这个就是定义二维矩阵很省时的方法1!!!
n就是行的数量,list里面split的就是一个个该行的列元素

  s = [[float(0) for i in range(n)] for j in range (n)]
  for i in range(n):
    ss = input()
    for j in range(n):
      s[i][j] = list(map(int,ss.split()))[j]
而这个运行起来会超时!!

你可能感兴趣的:(python,算法,python,算法)