【模板】快速幂||取余运算
题目描述
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。
输入输出格式
输入格式:
三个整数b,p,k.
输出格式:
输出“b^p mod k=s”
s为运算结果
#include<iostream>
using namespace std;
int s(long long num,long long n,long long p)
{
long long ss=1;
if(n)
{
while(n)
{
if(n%2==1)
ss=(ss*num)%p;
num=(num*num)%p;
n/=2;
}
return ss;
}
else
return 1%p;
}
int main()
{
long long a,b,p;
cin>>a>>b>>p;
cout<<a<<'^'<<b<<" mod "<<p<<'='<<s(a,b,p);
return 0;
}
本文详细介绍了一种高效计算大数幂取余的算法——快速幂。通过实例解析,展示了如何使用快速幂算法解决b^p mod k的问题,适用于处理大规模数值运算场景。代码实现采用C++语言,提供了一个简洁高效的解决方案。
490

被折叠的 条评论
为什么被折叠?



