|
@@ -0,0 +1,42 @@
|
|
|
+{ Source provided for Free Pascal Bug Report 1269 }
|
|
|
+{ Submitted by "Rob Kolstad" on 2000-11-28 }
|
|
|
+{ e-mail: [email protected] }
|
|
|
+var
|
|
|
+ A : array [0..25, 0..100] of comp;
|
|
|
+ V : array [1..25] of longint;
|
|
|
+ vt, nn : longint;
|
|
|
+ i, j : longint;
|
|
|
+
|
|
|
+function calc(m : longint; n : longint) : comp;
|
|
|
+var i : longint;
|
|
|
+begin
|
|
|
+ writeln(m,' ',n, ' ', a[m,n]);
|
|
|
+ if A[m, n] <> -1 then begin
|
|
|
+ calc := A[m, n]
|
|
|
+ end else begin
|
|
|
+ if n = 0 then begin
|
|
|
+ A[m, n] := 1;
|
|
|
+ calc := 1;
|
|
|
+ exit;
|
|
|
+ end;
|
|
|
+ A[m, n] := 0;
|
|
|
+ for i := m downto 1 do
|
|
|
+ if n - V[i] >= 0 then
|
|
|
+ A[m, n] := A[m, n] + calc(i, n - V[i]);
|
|
|
+ calc := A[m, n];
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
+begin
|
|
|
+ vt := 10;
|
|
|
+ nn := 100;
|
|
|
+ v[1] := 1; v[2] := 2; v[3] := 3;
|
|
|
+ v[4] := 4; v[5] := 5; v[6] := 6;
|
|
|
+ v[7] := 7; v[8] := 8; v[9] := 9;
|
|
|
+ v[10] := 10;
|
|
|
+ for i := 0 to 25 do
|
|
|
+ for j := 0 to nn do A[i, j] := -1;
|
|
|
+ writeln( calc(vt, nn) :0:0);
|
|
|
+end.
|
|
|
+
|
|
|
+
|