[C++][算法基础]求a的b次方模p的值(快速幂)

给定 n 组 ,对于每组数据,求出 的值。

输入格式

第一行包含整数 n。

接下来 n 行,每行包含三个整数

输出格式

对于每组数据,输出一个结果,表示 的值。

每个结果占一行。

数据范围

1≤n≤100000,

1≤≤2×

输入样例:
复制代码
2
3 2 5
4 3 9
输出样例:
复制代码
4
1

代码:

cpp 复制代码
#include<iostream>
#include<algorithm>
using namespace std;

long long a,b;
int n,p;
const int N = 100010;

long long QuickMul(long long a,long long b,int p){
    long long res = 1;
    while(b != 0){
        if((b & 1) == 1){
            res = res * a % p;
        }
        b = b / 2;
        a = a * a % p;
    }
    return res;
}

int main(){
    cin>>n;
    while(n--){
        cin>>a>>b>>p;
        long long ans = QuickMul(a,b,p);
        cout<<ans<<endl;
    }
    return 0;
}
相关推荐
小白程序员成长日记16 小时前
2025.11.21 力扣每日一题
算法·leetcode·职场和发展
MSTcheng.16 小时前
【C++STL】priority_queue 模拟实现与仿函数实战
开发语言·c++
还有几根头发呀16 小时前
从 C++ 的角度,系统地解释 进程(Process)、线程(Thread)、协程(Coroutine) 的概念、原理、优缺点,以及常见应用场景。
c++
oioihoii16 小时前
Python与C++:从哲学到细节的全面对比
c++
小年糕是糕手16 小时前
【C++】C++入门 -- inline、nullptr
linux·开发语言·jvm·数据结构·c++·算法·排序算法
高洁0116 小时前
具身智能-普通LLM智能体与具身智能:从语言理解到自主行动
人工智能·深度学习·算法·aigc·知识图谱
kk哥889916 小时前
Keil MDK 5.39 编程 + 调试 ,ARM 嵌入式开发!如何安装
c++·arm
重启的码农17 小时前
enet源码解析 (2) 对等节点 (ENetPeer)
c++·网络协议
星期天217 小时前
3.2联合体和枚举enum,还有动态内存malloc,free,calloc,realloc
c语言·开发语言·算法·联合体·动态内存·初学者入门·枚举enum
塞北山巅17 小时前
camera hal层(AF)
c++·camera