洛谷 P1226 取余运算||快速幂

来源:互联网 发布:淘宝全球购关税怎么交 编辑:程序博客网 时间:2024/05/18 03:21

题目描述

输入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

分析:就是快速幂。还有mod k,高精度都不用。

代码:

var n,m,p,t:int64;procedure try(m:int64);var x:int64;begin if (m=0) or (m=1) then exit; try(m div 2); if odd(m) then x:=n else x:=1; t:=((t mod p)*(t mod p)*x) mod p;end;begin readln(n,m,p); if (m=0) then begin write('1'); exit; end; t:=n mod p; try(m); write(n,'^',m,' mod ',p,'=',t);end.
1 0
原创粉丝点击