洛谷:P1226 【模板】快速幂||取余运算(分治,数学)

题目:

在这里插入图片描述

分析,最基本的算法,看了模板。

注意一点,最后函数计算的结果要再次取余。因为 0次方取余1这个测试点。

代码:

#include<bits/stdc++.h>
using namespace std;
long long a,b,c;//a的b次方,取余c 
long long f(long long t)
{
    
    
 if(t==0) return 1;
 long long ans=f(t/2);
 ans=ans*ans%c;
 if(t%2==1) ans=ans*a%c;
 return ans;
}
int main()
{
    
    
 cin>>a>>b>>c; 
 else cout<<a<<'^'<<b<<" mod "<<c<<'='<<f(b)%c;
}

猜你喜欢

转载自blog.csdn.net/weixin_42721412/article/details/108547016