题目描述
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。
输入输出格式
输入格式:
三个整数b,p,k.
输出格式:
输出“b^p mod k=s”
s为运算结果
输入输出样例
输入样例#1:
2 10 9
输出样例#1:
2^10 mod 9=7
题解:
首先a的b次方,可以相当于b除2,a乘方一次,每一次都要取模,那么如果b对2取模剩余了1,那么这个1就归到答案中去,循环求解。
var a,b,c,d:int64;
begin
read(a,b,c);
write(a,'^',b,' mod ',c,'=');
a:=a mod c;
d:=1;
while(b<>0)do
begin
if(b mod 2=1)then d:=d*a mod c;
b:=b div 2;
a:=(a*a)mod c;
end;
write(d);
end.
取余运算||快速幂-洛谷 1226
最新推荐文章于 2022-08-24 15:01:57 发布