还记得
前段时间学习二进制快速幂有多崩溃
当然这次方法略有不同
居然轻轻松松的
题目描述
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。
输入输出格式
输入格式:
三个整数b,p,k.
输出格式:
输出“b^p mod k=s”
s为运算结果
-----------------------------------------------------------------------
#include<cstdio>
#include<cmath>
using namespace std;
long long a, b, c, t;
int main(){
scanf("%lld %lld %lld", &a, &b, &c);
t = ;
printf("%lld^%lld mod %lld=", a, b, c);
while(b > ){
if(b % == ){
t = a * t % c;
b--;
}
a = a * a % c;
b /= ;
}
printf("%lld",t % c);
return ;
}
之前一直mle
是因为
用开的longlong函数递归
当然
会
mle
而我
居然
一直执迷不悟
odk现在长心了