blob: ba63d66bfa046970ce8b155bdb7857ba51e9aed1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
MODULE Ch2;
IMPORT Out;
VAR
count:INTEGER;
arr:ARRAY 5 OF INTEGER;
PROCEDURE FindCombinations(VAR arr:ARRAY OF INTEGER;
index,num,reducednum:INTEGER);
VAR
i:LONGINT;
prev:INTEGER;
BEGIN
IF reducednum < 0 THEN RETURN END;
IF reducednum = 0 THEN
INC(count);
RETURN;
END;
IF index = 0 THEN prev := 1 ELSE prev := arr[index-1] END;
FOR i := prev TO num DO
arr[index] := SHORT(i);
FindCombinations(arr,index+1,num,reducednum-SHORT(i));
END;
END FindCombinations;
BEGIN
count := 0;
FindCombinations(arr,0,5,5);
Out.Int(count,0); Out.Ln;
END Ch2.
|