POWER - Lũy thừa

Tác giả: ll931110

Ngôn ngữ: Pascal

{$N+}
{$MODE DELPHI}
program POWER;
const
  input  = '';
  output = '';
  maxk = 40;
  eps = 0.00001;
var
  fi,fo: text;
  l,r: int64;
  i,nTest: integer;

procedure openfile;
begin
  assign(fi, input);
    reset(fi);

  assign(fo, output);
    rewrite(fo);
end;

procedure solve;
var
  i: integer;
  t1,t2,k: extended;
  s1,s2: int64;
begin
  readln(fi, l, r);
  for i := maxk downto 1 do
    begin
      k := 1 / i;
      t1 := exp(k * ln(l));
      s1 := trunc(t1);
      if t1 - s1 > eps then inc(s1);

      t2 := exp(k * ln(r));
      s2 := trunc(t2);

      if s2 >= s1 then
        begin
          writeln(fo, i);
          exit;
        end;
    end;
end;

procedure closefile;
begin
  close(fo);
  close(fi);
end;

begin
  openfile;

  readln(fi, nTest);
  for i := 1 to nTest do
    begin
      write(fo, 'Case #', i, ': ');
      solve;
    end;

  closefile;
end.

Download