题解 | 递推数列

递推数列

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;
}

全部评论

相关推荐

强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-18 16:32
quench@0916:一顿操作猛如虎,一看工资2500
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务