欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

试题基础练习Fibonacci数列(Python)

时间:2023-04-23

资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

输入格式

输入包含一个整数n。

输出格式

输出一行,包含一个整数,表示Fn除以10007的余数。

说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

样例输入

10

样例输出

55

样例输入

22

样例输出

7704

数据规模与约定

1 <= n <= 1,000,000。

n = int(input())sum = 0l = [1,1]for i in range(2,n):sum = l[i-1] + l[i-2]l.append(sum)print(l[n-1]%10007)

评测结果内存超限得分80CPU使用359ms内存使用751.4MB

尝试优化了一会儿,没什么头绪,先放这里,等我牛鼻了之后再回来优化这个吧。。。。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。