当前位置: 首页 > news >正文

高精度快速幂

高精度快速幂

求解 \(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;
}
http://www.rkmt.cn/news/29273.html

相关文章:

  • 日期换算(基姆拉尔森公式)
  • 最长严格/非严格递增子序列 (LIS)
  • 博弈1
  • 1024程序员节福利!参与互动,5分钟赢好礼!
  • 马拉车
  • 具身智能/智能体 定义
  • 实用指南:flink批处理-水位线
  • 2025年棒球帽厂家推荐排行榜,运动棒球帽,时尚棒球帽,定制棒球帽,防晒棒球帽公司精选榜单
  • 常见结论与例题
  • 单芯片方案分享-CH336F-USB拓展坞+百兆网卡+读卡器+100W快充芯片
  • 于状压的线性 RMQ 算法
  • KD Tree
  • 小波矩阵树:高效静态区间第 K 大查询
  • 分数运算类
  • 坐标压缩与离散化
  • 撸一个功能强大的基于语义的图像检索系统
  • 数论常见结论及例题
  • N8N Workflow Collection - 专业级自动化工作流库 - 详解
  • 莫比乌斯函数/反演
  • 同余方程组、拓展中国剩余定理 excrt
  • Apache POI 在 Linux 无图形界面环境下因字体配置问题导致Excel导出失败的解决方案 - 详解
  • 扩展欧几里得 exgcd
  • 防爆模乘
  • 20232314 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 最小割树 Gomory-Hu Tree
  • 图论常见结论及例题
  • 最短路径树(SPT问题)
  • 多源汇最短路(APSP问题)
  • 单源最短路径(SSSP问题)
  • 最近公共祖先 LCA