一道蓝桥杯斐波那契数列题 数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大 10

问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。pu... 问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

public void solve2(int a){
int [] arr=new int[a+1];
arr[1]=arr[2]=1;
for(int i=3;i<arr.length;i++){
arr[i]=(arr[i-1]+arr[i-2])%10007;//对每一个斐波那契数列进行取余数
}
System.out.println(arr[a]);
}
我想问一下 arr[i]=(arr[i-1]+arr[i-2])%10007 对每一斐波那契数列进行取余是什么意思 如何理解
我是这样理解的 例如 当i=4时 余数为 i=3的余数加i=2的余数 再除以10007取余 这样对吗 为什么等于先求值再取余
展开
 我来答
好用的下划线_
2019-02-10
知道答主
回答量:2
采纳率:0%
帮助的人:1413
展开全部
我觉得应该是因为,斐波那契数列在n不是很大的时候,数列的每一项除以10007的余数都是它本身,所以可以这么加。。
你可以在java里试一下 System.out.println(55%10007);
输出的结果就是55
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魂祭_灵
2019-02-26
知道答主
回答量:1
采纳率:0%
帮助的人:772
展开全部
就是余数相加
因为除去的内个部分正好是10007的倍数
所以余数和原数除以10007的余数是一样的
就像7%4=3
而3%4=3的道理一样
不影响的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殛丿殪
2017-03-31 · TA获得超过472个赞
知道答主
回答量:102
采纳率:35%
帮助的人:13.1万
展开全部
#include<stdio.h>

int main(void)
{
int x,y,z,i,n;
x = 0;
y = 0;
z = 1;
i = 0;
scanf("%d",&n);

while(i<n)
{
x=y;
y=z;
z=x+y;
i +=1;
}
y=y%10007;
printf("%d",y);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
li1lulu
2017-01-20 · TA获得超过4.9万个赞
知道大有可为答主
回答量:1.7万
采纳率:70%
帮助的人:5224万
展开全部
显然分别取余有可能余数的和大于10007。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式