递推数列

Posted jiashun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递推数列相关的知识,希望对你有一定的参考价值。

题目描述

给定a0,a1,以及an=p*a(n-1) + q*a(n-2)中的p,q。这里n >= 2。 求第k个数对10000的模。

输入描述:

输入包括5个整数:a0、a1、p、q、k。

输出描述:

第k个数a(k)对10000的模。

输入

20 1 1 14 5

输出

8359

思路分析

 将每一次得到的结果记录下来,再进行递推。

  最重要的是需要将每一个递推数进行截断,即每一次都要进行取模,这样才不会超过内存限制。

 1 #include <stdio.h>
 2 
 3 int main()
 4 
 5     int a0,a1,p,q,k;
 6     
 7     while(scanf("%d%d%d%d%d",&a0,&a1,&p,&q,&k)!= EOF)
 8     
 9         long re = 0;
10         for(int i=2;i<=k;i++)
11         
12             re = (a1*p+a0*q)%10000;
13             a0 = a1;
14             a1 = re;
15         
16         re = re%10000;
17         printf("%ld",re);
18     
19     return 0;
20 

 

以上是关于递推数列的主要内容,如果未能解决你的问题,请参考以下文章

递推-斐波那契数列

[LOJ538]数列递推

求解递推数列的成套方法

求解递推数列的成套方法

C语言用递推和递归两种算法完成斐波那契数列的计算,给一下代码

递推-练习1--noi1760 菲波那契数列