递推数列
要点 不用存放大于10000的部分 节省空间不会超出表示范围
#include <bits/stdc++.h>
using namespace std;
int main(){
int a0,a1,p,q,k;
scanf("%d%d%d%d%d",&a0,&a1,&p,&q,&k);
int a[10001];
a[0]=a0;
a[1]=a1;
for(int i=2;i<=k;i++){
a[i]=(p*a[i-1]+q*a[i-2])%10000;
//其实大于10000的部分没有存的必要最后也是只要余数部分
}
if(k>=2)
{
printf("%d\n",a[k]); }
else{
printf("%d\n",a[k]%10000);
}
}