尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

高精度快速幂

高精度快速幂
📅 发布时间:2026/6/19 10:36:14

高精度快速幂

求解 \(n^k \bmod p\),其中 \(0\le n,k \le 10^{1000000},\ 1\le p \le 10^9\)。容易发现 \(n\) 可以直接取模,瓶颈在于 \(k\) See。

魔改十进制快速幂(暴力计算)

该算法复杂度 \(\mathcal O({\tt len}(k))\) 。

int mypow10(int n, vector<int> k, int p) {int r = 1;for (int i = k.size() - 1; i >= 0; i--) {for (int j = 1; j <= k[i]; j++) {r = r * n % p;}int v = 1;for (int j = 0; j <= 9; j++) {v = v * n % p;}n = v;}return r;
}
signed main() {string n_, k_;int p;cin >> n_ >> k_ >> p;int n = 0; // 转化并计算 n % pfor (auto it : n_) {n = n * 10 + it - '0';n %= p;}vector<int> k; // 转化 kfor (auto it : k_) {k.push_back(it - '0');}cout << mypow10(n, k, p) << endl; // 暴力快速幂
}

扩展欧拉定理(欧拉降幂公式)

\[n^k \equiv \left\{\begin{matrix} n^{k \bmod \varphi (p)} & \gcd(n,p)=1 \\ n^{k \bmod \varphi(p) + \varphi(p)} & \gcd(n,p)\neq 1 \wedge k\ge\varphi(p)\\ n^k & \gcd(n,p)\neq 1 \wedge k<\varphi(p) \end{matrix}\right.\]

最终我们可以将幂降到 \(\varphi(p)\) 的级别,使得能够直接使用快速幂解题,复杂度瓶颈在求解欧拉函数 \(\mathcal O(\sqrt p)\) 。

int phi(int n) { //求解 phi(n)int ans = n;for (int i = 2; i <= n / i; i++) {if (n % i == 0) {ans = ans / i * (i - 1);while (n % i == 0) {n /= i;}}}if (n > 1) { //特判 n 为质数的情况ans = ans / n * (n - 1);}return ans;
}
signed main() {string n_, k_;int p;cin >> n_ >> k_ >> p;int n = 0; // 转化并计算 n % pfor (auto it : n_) {n = n * 10 + it - '0';n %= p;}int mul = phi(p), type = 0, k = 0; // 转化 kfor (auto it : k_) {k = k * 10 + it - '0';type |= (k >= mul);k %= mul;}if (type) {k += mul;}cout << mypow(n, k, p) << endl;
}

相关新闻

  • 日期换算(基姆拉尔森公式)
  • 最长严格/非严格递增子序列 (LIS)
  • 博弈1

最新新闻

  • SAP BOM查询实战:从正查到反查的完整指南
  • 【2026年6月】热水离心泵厂家推荐指南 - 多才菠萝
  • Python图片压缩方法全解:从入门到进阶
  • 【JAVA毕设源码分享】基于SpringBoot的中华传统文化网站(程序+文档+代码讲解+一条龙定制)
  • 全国学历提升继续教育学习体验实录
  • 验证码绕过实战:从Pikachu靶场剖析客户端与服务端漏洞原理

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号