【算法】acwing算法基础875. 快速幂

ops/2025/3/4 12:26:51/

题目

给定 n 组 ai,bi,pi,对于每组数据,求出 ai^bi mod pi 的值。

输入格式

第一行包含整数 n。

接下来 n 行,每行包含三个整数 ai,bi,pi。

输出格式

对于每组数据,输出一个结果,表示 ai^bi mod pi 的值。

每个结果占一行。

数据范围

1≤n≤100000

1≤ai,bi,pi≤2×109

输入样例:

2

3 2 5

4 3 9

输出样例:

4

1

来源:acwing算法基础875. 快速幂


思路(注意事项)

b转为2进制,另外注意防止越界需要定义ansalong long.


纯代码

#include<iostream>
using namespace std;typedef long long LL;int qmi (LL a, int b, int p)
{LL ans = 1;while (b){if(1&b) ans = ans * a % p;b >>= 1;a = a * a % p;}return ans;
}int main(){int n;cin >> n;while (n --){LL a;int b, p;scanf ("%lld%d%d", &a, &b, &p);cout << qmi (a, b, p) << endl;}return 0;
}

题解(带注释)

#include<iostream>
using namespace std;
typedef long long LL; // 定义 long long 的别名 LL// 定义一个函数 qmi,用于计算 a 的 b 次方模 p 的结果
int qmi(LL a, int b, int p)
{LL ans = 1; // 初始化结果为 1while (b) // 当 b 不为 0 时循环{if (1 & b) ans = ans * a % p; // 如果 b 的最低位为 1,将 a 乘到结果中b >>= 1; // 将 b 右移一位a = a * a % p; // 将 a 平方}return ans; // 返回最终结果
}int main(){int n; // 定义测试用例的数量cin >> n; // 输入测试用例的数量// 处理每个测试用例while (n --){LL a; // 定义底数 aint b, p; // 定义指数 b 和模数 p// 输入 a, b, pscanf("%lld%d%d", &a, &b, &p);// 输出 a 的 b 次方模 p 的结果cout << qmi(a, b, p) << endl;}return 0;
}

http://www.ppmy.cn/ops/163040.html

相关文章

【软路由】ImmortalWrt 编译指南:从入门到精通

对于喜欢折腾路由器&#xff0c;追求极致性能和定制化的玩家来说&#xff0c;OpenWrt 无疑是一个理想的选择。而在众多 OpenWrt 衍生版本中&#xff0c;ImmortalWrt 以其更活跃的社区、更激进的特性更新和对新硬件的支持而备受关注。 本文将带你深入了解 ImmortalWrt&#xff0…

懒加载能够解决Spring循环依赖吗

懒加载本身并不能直接解决 Spring 循环依赖问题&#xff0c;但它可以在一定程度上缓解或绕过循环依赖带来的问题&#xff0c;下面详细分析&#xff1a; 1. 什么是 Spring 循环依赖 循环依赖指的是两个或多个 Bean 之间相互依赖&#xff0c;形成一个闭环。例如&#xff0c;Bea…

React学习笔记08

一、什么是Redux Redux是React中最常用的集中状态管理工具&#xff0c;类似于Vue中的Pinia&#xff08;Vuex&#xff09;&#xff0c;可以独立于框架运行&#xff0c;作用是通过集中管理的方式管理应用的状态 二、Redux快速体验 手搓一个Redux&#xff1a; 1、定义一个reduc…

JavaWeb后端基础(4)

这一篇就开始是做一个项目了&#xff0c;在项目里学习&#xff0c;我主要记录在学习过程中遇到的问题&#xff0c;以及一些知识点 Restful风格 一种软件架构风格 在REST风格的URL中&#xff0c;通过四种请求方式&#xff0c;来操作数据的增删改查。 GET &#xff1a; 查询 …

附近商户和用户签到

附近商户 当点击美食按钮时&#xff0c;发送请求&#xff1a; http://127.0.0.1:8080/api/shop/of/type?&typeId1&current1&x120.149993&y30.334229 其中&#xff0c;typeId1表示美食类型&#xff0c;current1表示页码为1&#xff0c;x120.149993&y30.33…

element UI => element Plus 差异化整理

注&#xff1a;文章由deepSeek生成&#xff1b; 以下是 Element UI 和 Element Plus 中 有变化的组件属性差异 的详细对比。这些变化主要集中在 Vue 3 的适配、API 优化以及新特性的引入。 1. Button 组件 (el-button) 属性名Element UIElement Plus差异说明iconicon"el-…

跟据spring boot版本,查看对应的tomcat,并查看可支持的tomcat的版本范围

一 查看springboot自带的tomcat版本&#xff1a; 可直接在项目中找到Maven Dependencies中找到tomcat版本 二、查看SpringBoot内置tomcat版本的支持范围 我这边是跟据maven仓库查看的 首先跟据链接打开maven仓库&#xff1a;https://mvnrepository.com/ 然后搜索&#xff1a…

使用DeepSeek+KIMI生成高质量PPT

一、使用DeepSeek DeepSeek官网&#xff1a;DeepSeek 点击“开始对话”&#xff0c;进入交互页面。 在上图中&#xff0c;输入问题&#xff0c;即可获取AI生成的结果。 基础模型&#xff08;V3&#xff09;&#xff1a;通用模型&#xff08;2024.12&#xff09;&#xff0c;高…