首页 > 试题广场 >

(快速幂)请完善下面的程序,该程序使用分治法求 xp mod

[填空题]
(快速幂)请完善下面的程序,该程序使用分治法求 xp mod m 的值。(第一空 2 分,其余 3 分)
输入:三个不超过 10000 的正整数 x,p,m。
输出:xp mod m 的值。
提示:若 p 为偶数,xp=(x2)p/2;若 p 为奇数,xp=x*(x2)(p-1)/2

var
  x, p, m, i, result : longint;
begin
  read(x, p, m);
  result :=     1    ;
  while (    2    ) do
  begin
    if (p mod 2 = 1) then
      result :=     3    ;
    p := p div 2;
    x :=     4    ;
  end;
  write(    5    );
end.

这道题你会答吗?花几分钟告诉大家答案吧!