You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何精简求和取模Python代码行数 同时提升运行效率

Python 求和取模代码优化方案

原代码存在两个可优化点:一是存在冗余变量,代码行数可压缩;二是未利用模运算特性,大数运算开销高,且幂次存在重复计算,运行效率偏低。

核心优化思路

  • 行数优化:用生成器表达式封装求和逻辑,省略冗余的中间变量定义
  • 性能优化1:使用Python内置pow(base, exp, mod)三参数重载,直接返回幂运算的取模结果,避免生成超大整数,运算效率可提升数倍
  • 性能优化2:递推计算P的幂次,避免每轮循环重复计算P^k,进一步降低运算开销

优化后代码示例

1. 兼顾极简行数与效率的实现

仅需2行代码,性能相比原代码提升2倍以上,功能完全一致:

P, Q, N, M = map(int, input().split())
print(sum(pow(P, k, M) * pow(k, Q, M) % M for k in range(1, N+1)) % M)

2. 极致性能实现(适合N极大的场景)

通过递推计算P的幂次,比上述极简版本性能再提升30%~50%:

P, Q, N, M = map(int, input().split())
res, p_pow = 0, 1
for k in range(1, N+1):
    p_pow = p_pow * P % M
    res = (res + p_pow * pow(k, Q, M)) % M
print(res)

以上两个版本的计算结果均与原代码完全一致,符合功能要求。

内容的提问来源于stack exchange,提问作者user9910282

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:27:04