⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ac1090.pas

📁 同济大学 Online在线题库 AC源代码合集 程序设计竞赛必看资料
💻 PAS
字号:
program tju1090;
const
  maxn=100;
type
  bignum=array[-1..57]of word;
var
  a:array[1..maxn]of bignum;
  i,j:byte;
  t:bignum;
procedure mul(var a,b,c:bignum);
  var
    i,j:byte;
  begin
    fillchar(c,sizeof(c),0);
    for i:=0 to a[-1] do
      for j:=0 to b[-1] do
        inc(c[i+j],a[i]*b[j]);
    c[-1]:=a[-1]+b[-1];
    for i:=0 to c[-1] do begin
      inc(c[i+1],c[i] div 10);
      c[i]:=c[i] mod 10;
    end;
    while c[c[-1]+1]>0 do begin
      inc(c[-1]);
      c[c[-1]+1]:=c[c[-1]] div 10;
      c[c[-1]]:=c[c[-1]] mod 10;
    end;
  end;
procedure add(var a,b:bignum);
  var
    i:byte;
  begin
    if b[-1]>a[-1] then a[-1]:=b[-1];
    for i:=0 to a[-1] do begin
      inc(a[i+1],(a[i]+b[i]) div 10);
      a[i]:=(a[i]+b[i]) mod 10;
    end;
    while a[a[-1]+1]>0 do begin
      inc(a[-1]);
      a[a[-1]+1]:=a[a[-1]] div 10;
      a[a[-1]]:=a[a[-1]] mod 10;
    end;
  end;
procedure out(a:bignum);
  var
    i:byte;
  begin
    for i:=a[-1] downto 0 do
      write(a[i]);
    writeln;
  end;
begin
  a[1,0]:=1;
  for i:=2 to maxn do
    for j:=1 to i-1 do begin
      mul(a[j],a[i-j],t);
      add(a[i],t);
    end;
  repeat
    read(i);
    out(a[i]);
  until seekeof;
end.

⌨️ 快捷键说明

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