875. 快速幂
Posted 幽殇默
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了875. 快速幂相关的知识,希望对你有一定的参考价值。
https://www.acwing.com/problem/content/description/877/
模板一:
#include<cstdio>
#include<iostream>
#define ll long long int
using namespace std;
int quick_pow(ll a,ll b,ll c)
{
int sum=1;
while(b)
{
if(b&1) sum=sum*a%c;
b=b>>1;
a=(a*a)%c;
}
return sum;
}
int main(void)
{
int n; cin>>n;
while(n--)
{
ll a,b,c; cin>>a>>b>>c;
cout<<quick_pow(a,b,c)<<endl;
}
return 0;
}
模板二:
#include<cstdio>
#include<iostream>
#define ll long long int
using namespace std;
ll quick_pow(ll a,ll b,ll c)
{
if(b==0) return 1;
if(b&1) return a*quick_pow(a,b-1,c)%c;
else
{
ll t=quick_pow(a,b/2,c)%c;
return (t*t)%c;
}
}
int main(void)
{
int n; cin>>n;
while(n--)
{
ll a,b,c; cin>>a>>b>>c;
cout<<quick_pow(a,b,c)<<endl;
}
return 0;
}
以上是关于875. 快速幂的主要内容,如果未能解决你的问题,请参考以下文章