首页 > 试题广场 >

【模板】快速幂Ⅰ ‖ 模小整数

[编程题]【模板】快速幂Ⅰ ‖ 模小整数
  • 热度指数:1657 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 1024M,其他语言2048M
  • 算法知识视频讲解
\hspace{15pt}对于给定的三个整数 a,b,p,计算 a^b \bmod p

输入描述:
\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 2 \times 10^5\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}一行上输入三个整数 a,b,p \left( 0\leqq a,b \leqq 10^9;\,0 < a + b;\,1 \leqq p \leqq 10^9 \right),表示底数、指数、模数。


输出描述:
\hspace{15pt}对于每一组测试数据,新起一行输出一个整数,代表式子的答案。
示例1

输入

4
1 0 1
0 1 10
2 3 10
3 3 12

输出

0
0
8
3

备注:
本题已于下方时间节点更新,请注意题解时效性:
1. 2025-11-28 优化题面文本与格式;缩小 T 的范围(从 5 \times 10^5 缩小到 2 \times 10^5)。模板题为便于测试,将时间限制扩充至 5s,空间限制扩充至 1024MB。
头像 Silencer76
发表于 2025-07-11 14:29:56
题目链接 HIGH16 【模板】快速幂Ⅰ ‖ 整数 题目描述 给定 组数据,每组数据包含三个正整数 。求 的值。 输入描述: 第一行一个整数 ,表示数据组数。 接下来 行,每行三个正整数 。 输出描述: 对于每组数据,输出一行,表示 的结果。 解题思路 本题要求计算 。当指数 非常大时,直 展开全文
头像 丨阿伟丨
发表于 2025-08-28 17:35:07
题目链接 【模板】快速幂Ⅰ ‖ 整数 题目描述 对于给定的三个正整数 ,计算 。 解题思路 本题要求计算 的 次方对 取模的结果。这是一个经典的数论问题,通常使用快速幂(Fast Power)算法来高效解决。 朴素算法及其缺陷 最直观的方法是使用一个循环,将 连乘 次,并在每一步都对 展开全文
头像 Mag1c0nch
发表于 2024-11-25 19:11:45
快速幂模板题 #include <bits/stdc++.h> using namespace std; #define int long long const int N = 2e5 + 5; int __t = 1, n, a, b, p; int kpow(int a, int b 展开全文
头像 牛牛队_
发表于 2024-12-07 21:38:27
#include <iostream> using namespace std; int T; long long p; long long qpow(long long a,long long b){ long long q=1; while(b){ 展开全文
头像 Kato_Shoko
发表于 2024-11-25 22:08:35
模板快速幂 #include <iostream> #include <queue> #include <map> #include <set> #include <cmath> #include <cstring> #incl 展开全文
头像 12316534
发表于 2024-11-25 23:53:57
for _ in range(int(input())): a,b,p=map(int,input().split()) print(pow(a,b,p)) python的pow函数自带快速幂,但还是自己尝试一下吧
头像 lahm66
发表于 2025-10-12 09:37:04
参考资料:https://blog.nowcoder.net/n/36a6859228044debada0e4c88109afb8https://blog.nowcoder.net/n/4711e1f61ced4eac9866a936c876d2ca import java.util.Scanner 展开全文
头像 whiteg
发表于 2024-11-26 21:16:29
t = int(input()) def qpow(x,y,mod): res = 1 while y: if y & 1: res *= x res %= mod x *= x 展开全文
头像 GG了的退堂鼓鼓手很迷人
发表于 2025-11-07 14:32:36
#include <iostream> using namespace std; long long power(long long a, long long b, long long m){ long long res=1 % m; a %= m; while 展开全文
头像 来泡池子了的西红柿很奔放
发表于 2024-11-26 22:34:18
#include <stdio.h> // 快速幂算法,计算a的b次方对p取模的结果 int quick_pow(int a, int b, int p) { int ans = 1; while (b) { if (b & 1) { 展开全文