题解 | 递推数列
递推数列
https://www.nowcoder.com/practice/d0e751eac618463bb6ac447369e4aa25
#include <stdio.h> #include <stdlib.h> int main() { int a0, a1, p, q, k; while (scanf("%d %d %d %d %d", &a0, &a1, &p, &q, &k) != EOF) { // 注意 while 处理多个 case // 64 位输出请用 printf("%lld") to int*dp=(int*)malloc(sizeof(int)*(k+1)); dp[0]=a0;dp[1]=a1; for(int i=2;i<=k;i++)dp[i]=(p*dp[i-1]+q*dp[i-2])%10000; printf("%d\n",dp[k]); free(dp); } return 0; }