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

64.Acwing基础课第875题-简单-快速幂

64.Acwing基础课第875题-简单-快速幂

题目描述

\(给定 n 组 a_i,b_i,p_i,对于每组数据,求出 a_i^{b_i}mod\ p_i 的值。\)

输入格式

\(第一行包含整数 n\)

\(接下来 n 行,每行包含三个整数 a_i,b_i,p_i\)

输出格式

\(对于每组数据,输出一个结果,表示a_i^{b_i}mod\ p_i 的值\)

\(每个结果占一行\)

数据范围

\(1≤n≤10^6\),

\(1≤a_i,b_i,p_i≤2×10^9\)

输入样例:

2
3 2 5
4 3 9

输出样例:

4
1

代码:

// 包含输入输出流头文件(cin/cout依赖,本代码用C风格输入输出,可保留)
#include <iostream>
// 算法库(本代码未直接使用,属于通用模板保留)
#include <algorithm>// 使用std命名空间,避免重复写std::
using namespace std;// 定义长整型别名:防止乘法过程中溢出(int相乘可能超出int范围)
typedef long long LL;// 快速幂核心函数:计算 (a^b) % p 的结果
// 原理:将指数b二进制分解,把O(b)的乘法优化为O(logb),大幅提升效率
// 参数:a-底数,b-指数,p-模数
LL qmi(int a, int b, int p)
{// 初始化结果为 1%p:处理p=1的特殊情况(任何数模1都为0)LL res = 1 % p;// 二进制分解指数b:循环直到b的所有二进制位处理完毕while (b){// b & 1:判断b的二进制最低位是否为1(等价于b%2==1)// 若最低位为1,说明当前位需要参与乘法,结果乘以当前a并取模if (b & 1) res = res * a % p;// 底数平方:对应二进制指数左移一位(如a^1 → a^2,a^2 → a^4)// (LL)a:强制转换为长整型,避免a*a溢出int范围a = a * (LL)a % p;// 指数右移一位:等价于b = b / 2(舍弃最低位,处理下一位)b >>= 1;}// 返回最终的 (a^b) % p 结果return res;
}int main()
{int n; // n:测试用例的组数// C风格输入:比cin更快,适合大数据量场景scanf("%d", &n);// 循环处理n组测试用例while (n -- ){int a, b, p; // a-底数,b-指数,p-模数scanf("%d%d%d", &a, &b, &p); // 输入一组a,b,p// 调用快速幂函数,输出结果(%lld对应LL类型)printf("%lld\n", qmi(a, b, p));}return 0; // 程序正常结束
}
http://www.jsqmd.com/news/613681/

相关文章:

  • 2026贵阳工程门窗配套公司推荐5家名单出炉,源头工厂直营拒绝差价 - 精选优质企业推荐榜
  • DeepXDE创新实践指南:科学机器学习的无网格革命
  • 花屏/蓝屏/黑屏/画面抖动/冻结/模糊检测,聊聊EasyCVR的视频质量诊断插件,解决运维人的实际烦恼
  • 下载 | Windows Server 2016最新纯净版ISO映像!(集成3月更新、标准版、数据中心版、14393.8957)
  • 2026年4月昆明工厂设备/电机/铜铝铁/二手设备/废品回收公司综合测评与选购指南 - 2026年企业推荐榜
  • 3步彻底改造你的Windows 11:从臃肿到极速的终极方案
  • 终极解决方案:Windows 10 OneDrive 彻底卸载专业指南
  • BEYOND REALITY Z-Image保姆级教程:5分钟部署,零基础生成高清人像
  • 别再盲目升级PHP版本!异步I/O性能拐点实测报告:8.1→8.2→8.3在epoll/kqueue下的syscall耗时变化(含strace+perf原始数据)
  • 在超大数据集下 DuckDB 与 MySQL 查询速度对比捞
  • 2026贵阳工程门窗配套公司发布突出5家源头工厂直营名单 - 精选优质企业推荐榜
  • Spring Boot 3.2+Loom生产就绪 checklist(含线程泄漏检测脚本、监控埋点规范、回滚熔断机制)
  • 2026年颗粒机生产线厂家推荐:木屑颗粒机/生物质颗粒机/锯末颗粒机/秸秆颗粒机专业供应 - 品牌推荐官
  • 2026最新广东广州等地非洲翠/独龙玉手镯批发及厂家推荐 - 十大品牌榜
  • 5G车载网关选型介绍
  • Win11Debloat:终极Windows系统优化指南,一键清理垃圾提升性能
  • 如何快速掌握MuseTalk:实时高质量AI唇同步的完整实践指南
  • 2026互联网薪资报告:AI崛起!核心技术岗薪资暴涨,传统岗位如何逆袭?高薪/避雷指南+城市薪酬对比表(速看)
  • StreamingClaw具身智能上车:理想基于OpenClaw的流式Agent革命
  • 自动卡式加热炉哪家性价比高?经济型自动卡式加热炉推荐-2026国产自动卡式加热炉哪个牌子好且受欢迎 - 品牌推荐大师
  • YOLOv8与Cosmos-Reason1-7B的联合应用:智能视觉推理系统
  • 再次革新 .NET 的构建和发布方式(三)刻
  • 2026年主流秸秆粉碎机横向对比与使用体验,药材粉碎机/液压翻堆机/有机肥制造设备/废旧木材粉碎机,粉碎机公司哪个好 - 品牌推荐师
  • CustomTkinter:如何用Python轻松打造现代化桌面应用界面
  • 基于File-Based App开发MVP项目辟
  • OpenClaw生态模型使用量全景:国产模型主导12.96万亿Token时代
  • 游戏资源定制利器:Switch-Toolbox全场景应用指南
  • 终极指南:如何用KMS_VL_ALL_AIO一键激活Windows和Office
  • 有关python作画
  • 自动化内容审核:OpenClaw+Qwen3-4B-Thinking搭建个人防火墙