[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;
}
相关推荐
Matlab光学12 小时前
Matlab 复现:分数阶&整数阶OAM 变换
算法·matlab·拓扑学
七点半77012 小时前
FFmpeg C++ AI视觉开发核心手册 (整合版)适用场景:视频流接入、AI模型预处理(抽帧/缩放/格式转换)、高性能算法集成。
c++·人工智能·ffmpeg
凌波粒12 小时前
LeetCode--459.重复的子字符串(字符串/KMP算法)
算法·leetcode·职场和发展
_深海凉_12 小时前
LeetCode热题100-移除元素
数据结构·算法·leetcode
Makoto_Kimur12 小时前
Java Scanner 的 ACM 常用输入模板
java·数据结构·算法
A.A呐13 小时前
【C++第二十八章】单例模式
c++·单例模式
逆境不可逃13 小时前
【后端新手谈09】深入浅出短链接:从原理到实战开发
算法·面试·职场和发展
DeepModel13 小时前
通俗易懂讲透随机梯度下降法(SGD)
人工智能·python·算法·机器学习
玖釉-13 小时前
C++ 硬核剖析:if 语句中的“双竖杠” || 到底怎么运行的?
开发语言·c++
满满和米兜13 小时前
【Java基础】- 集合-HashSet与TreeSet
java·开发语言·算法