题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
给定数列 1,1,1,3,5,9,17,⋯1,1,1,3,5,9,17,⋯,从第 44 项开始,每项都是前 33 项的和。
求第 2019032420190324 项的最后 44 位数字。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
a, b, c = 1, 1, 1
tot = [a, b, c]
for i in range(4, 20190325):
d = (a + b + c) % 10000
a, b, c = b, c, d
tot.append(d)
if a == 1 and b == 1 and c == 1: # 检验重复段(在所有数目中对10000求余,在某一个数值开始,之后的所有数都是前面数的倍数,自此中断,进而缩短求解时间)
break
o = len(tot) - 3 # 去掉后面三个1的项
print(tot[20190324 % o - 1]) # 列表从0开始