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

给定 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≤100000,
1≤a_{i},b_{i},p_{i}≤2×10^{9}

输入样例:
2
3 2 5
4 3 9
输出样例:
4
1

代码:

 

#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;
}

相关推荐

  1. a b p_题解

    2024-04-21 14:38:02       43 阅读
  2. 算法1.快速a^b、(a^b)%p

    2024-04-21 14:38:02       24 阅读
  3. [C/C++入门][循环]14、计算2(2n

    2024-04-21 14:38:02       23 阅读
  4. c++【入门】计算(a+b)*c

    2024-04-21 14:38:02       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 14:38:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 14:38:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 14:38:02       82 阅读
  4. Python语言-面向对象

    2024-04-21 14:38:02       91 阅读

热门阅读

  1. 深度学习基础——残差神经网络(ResNet)

    2024-04-21 14:38:02       40 阅读
  2. PID 控制系统如何优化?

    2024-04-21 14:38:02       33 阅读
  3. 深入kubernetes掌握核心概念--Service

    2024-04-21 14:38:02       26 阅读
  4. immutable variables, constants的区别(rust)

    2024-04-21 14:38:02       34 阅读
  5. Kubernetes那点事儿——k8s网络策略

    2024-04-21 14:38:02       32 阅读
  6. 转:Learn Rust the Dangerous Way-系列文章翻译-总述

    2024-04-21 14:38:02       36 阅读
  7. Linux下给Oracle补丁下载

    2024-04-21 14:38:02       31 阅读