首页 > 学院 > 开发设计 > 正文

取余运算||快速幂

2019-11-14 11:56:05
字体:
来源:转载
供稿:网友

题目描述 输入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.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表