palsquare.pas

来自「Magio牛的usaco源代码」· PAS 代码 · 共 49 行

PAS
49
字号
{
ID:maigoak1
PROG:palsquare
}

program palsquare;
var
  fin,fout:text;
  b,i:integer;
  s:string;
function pal(s:string):boolean;
  var
    i:integer;
  begin
    for i:=1 to length(s) div 2 do
      if s[i]<>s[length(s)+1-i] then begin
        pal:=false;
        exit;
      end;
    pal:=true;
  end;
function digit(n:integer):char;
  begin
    if n>9 then digit:=chr(55+n) else digit:=chr(48+n);
  end;
function convbase(n:longint):string;
  begin
    convbase:='';
    repeat
      convbase:=digit(n mod b)+convbase;
      n:=n div b;
    until n=0;
  end;
begin
  assign(fin,'palsquare.in');
  reset(fin);
  readln(fin,b);
  close(fin);
  assign(fout,'palsquare.out');
  rewrite(fout);

  for i:=1 to 300 do begin
    s:=convbase(i*i);
    if pal(s) then writeln(fout,convbase(i),' ',s);
  end;

  close(fout);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?