题目描述

给定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

思路分析

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

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
 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 }

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄