a^b Solution
题目传送门:快速幂
题目
题目描述
给你三个数 $a,b,p$,求 $a$ 的 $b$ 次方对 $p$ 取模的值。
题目大意
求 $a^b$ $\rm mod$ $p$
输入格式
三个整数 $a,b,p$,在同一行用空格隔开。
输出格式
输出一个整数,表示a^b mod p
的值。
数据范围
对于 $100\%$ 的数据:
$0 \leq a,b \leq 2^{31}$
$2 \leq p <2^{31}$
测试样例
输入样例 #1:
3 2 7
输出样例 #1:
2
输入样例 #2:
2 10 9
输出样例 #2:
7
解题思路
快速幂模板
$AC$ 代码
#include<bits/stdc++.h>
using namespace std;
long long a,b,p;
long long ksm(long long a,long long b,long long p){
long long fac=1;
while(b){
if(b&1) fac=fac*a%p;
a=a*a%p;
b>>=1;
}
return fac%p;
}
int main(){
scanf("%lld%lld%lld",&a,&b,&p);
printf("%lld\n",pow(a,b));
return 0;
}
蒟蒻第一次写题解,如有错误,还望各位神犇指出
写题解不易,给个免费的赞不过分吧