当k不大时可以直接模拟,时间复杂度为O(k): #include<stdio.h> #include<vector> using namespace std; int main() { int a0, a1, p, q,k; scanf("%d%d%d%d%d", &a0, &a1, &p, &q, &k); vector<int> a(k+1); a[0] = a0; a[1] = a1; for (int i = 2; i <= k; i++) { a[i] = (p * a[i - 1]...