Код IT Загрузка примера кода…

Pascal main.pas
program ModPow;

function ModPow(a, n, modul: int64): int64;
var
  res: int64;
begin
  res := 1;
  a := a mod modul;
  while n > 0 do
  begin
    if n mod 2 = 1 then
      res := (res * a) mod modul;
    a := (a * a) mod modul;
    n := n div 2;
  end;
  ModPow := res;
end;

var
  a, n, m: integer;

begin
  ReadLn(a, n, m);
  WriteLn(ModPow(a, n, m));
end.
program ModPow;

function ModPow(a, n, modul: int64): int64;
var
  res: int64;
begin
  res := 1;
  a := a mod modul;
  while n > 0 do
  begin
    if n mod 2 = 1 then
      res := (res * a) mod modul;
    a := (a * a) mod modul;
    n := n div 2;
  end;
  ModPow := res;
end;

var
  a, n, m: integer;

begin
  ReadLn(a, n, m);
  WriteLn(ModPow(a, n, m));
end.