题目描述
给定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 }