题目描述
输入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
说明
首先要想到的是数太大,然后就是指数的单双数问题。
程序如下
var
k,n,m,ans:longint;
begin
readln(n,m,k);
write(n,'^',m,' mod ',k,'=');
ans:=1;
while m>0 do
begin
if odd(m) then ans:=ans*n mod k;
m:=m div 2;
n:=n*n mod k;
end;
writeln(ans);
end.