COND - Quan hệ
Tác giả: ll931110
Ngôn ngữ: Pascal
{$MODE DELPHI}
program COND;
const
maxn = 10;
var
list,a: array[1..maxn] of integer;
p,res: integer;
function calc(n,k: integer): integer;
var
t,i: integer;
begin
t := 1;
for i := 1 to k do
t := t * (n - i + 1) div i;
calc := t;
end;
procedure addres;
var
s,i,t: integer;
begin
t := 1;
s := 0;
i := 1;
while s < p do
begin
s := s + a[i];
t := t * calc(s,a[i]);
inc(i);
end;
res := res + t;
end;
procedure attempt(i,j: integer);
var
k: integer;
begin
for k := 1 to j do
begin
a[i] := k;
if j = k then addres else attempt(i + 1,j - k);
end;
end;
begin
for p := 2 to 10 do
begin
res := 0;
attempt(1,p);
list[p] := res;
end;
repeat
readln(p);
if p <> -1 then writeln(list[p]);
until p = -1;
end.