
题解:
本题计算量太大了,无论是纯暴力递归,还是动态规划,电脑都得死机,因为结果始终与前三项有关,那我们不如一直保留前三项,进行记忆化递归,且题目结果只求后四位数字,那么我们在每一部的计算过程中都进行取余,只保留低四位,这样可以大大缩短计算时间,所以:
a,b,c,ans=1,1,1,0
for i in range(4,20190325):
ans=(a+b+c)%10000
a,b,c=b,c,ans
print(ans)
本题计算量太大了,无论是纯暴力递归,还是动态规划,电脑都得死机,因为结果始终与前三项有关,那我们不如一直保留前三项,进行记忆化递归,且题目结果只求后四位数字,那么我们在每一部的计算过程中都进行取余,只保留低四位,这样可以大大缩短计算时间,所以:
a,b,c,ans=1,1,1,0
for i in range(4,20190325):
ans=(a+b+c)%10000
a,b,c=b,c,ans
print(ans)