保姆级教程
2026-04-27 21:00:43
发布于:浙江
10阅读
0回复
0点赞
# 读取输入
a, b, k, n, m = map(int, input().split())
mod = 10007
# 1. 计算组合数 C(k, n)
# 使用杨辉三角递推,因为 k 最大只有 1000,非常安全
C = [[0] * (k + 1) for _ in range(k + 1)]
for i in range(k + 1):
C[i][0] = 1
C[i][i] = 1
for j in range(1, i):
C[i][j] = (C[i-1][j] + C[i-1][j-1]) % mod
comb = C[k][n] # 这就是 C(k, n)
# 2. 计算 a^n 和 b^m
# Python 的 pow(base, exp, mod) 是自带快速幂优化的
term_a = pow(a, n, mod)
term_b = pow(b, m, mod)
# 3. 计算最终结果
# 公式:C(k, n) * a^n * b^m
ans = (comb * term_a) % mod
ans = (ans * term_b) % mod
print(ans)
这里空空如也






有帮助,赞一个