1 | proc sum |
---|
2 | { |
---|
3 | if (#[1] <= 1) { return(#[1]); } |
---|
4 | return (#[1] + sum(#[1] -1)); |
---|
5 | } |
---|
6 | proc fak |
---|
7 | { |
---|
8 | if (#[1] <= 1) { return(1); } |
---|
9 | return (#[1] * fak(#[1] -1)); |
---|
10 | } |
---|
11 | proc binom |
---|
12 | { |
---|
13 | return (fak(#[1]) div (fak(#[1]-#[2]) * fak(#[2]))); |
---|
14 | } |
---|
15 | "nesting too deep for fak(30)!!!!";fak(30); |
---|
16 | int i; |
---|
17 | int j; |
---|
18 | //for (i = 2; i<=10; i=i+1) |
---|
19 | //{ |
---|
20 | // i, "sum", sum(i), "fak", fak(i); |
---|
21 | //} |
---|
22 | //"binom(5,1)", binom(5,1); |
---|
23 | //$; |
---|
24 | string b; |
---|
25 | for (i=1; i<=16; i=i+1) |
---|
26 | { |
---|
27 | b = "binoms " + string(i) + " "; |
---|
28 | for (j=0; j<=i; j=j+1) |
---|
29 | { |
---|
30 | b = b + " " + string(binom(i,j)); |
---|
31 | } |
---|
32 | b; |
---|
33 | } |
---|
34 | LIB "tst.lib";tst_status(1);$; |
---|
35 | "binom(5,0)", binom(5,0); |
---|
36 | "binom(5,1)", binom(5,1); |
---|
37 | "binom(5,2)", binom(5,2); |
---|
38 | "binom(5,3)", binom(5,3); |
---|
39 | "binom(5,4)", binom(5,4); |
---|
40 | "binom(5,5)", binom(5,5); |
---|
41 | LIB "tst.lib";tst_status(1);$; |
---|