📄 ac1090.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 + -