Catalan numbers: Difference between revisions
Content added Content deleted
(add tinybasic) |
|||
Line 461: | Line 461: | ||
13 742900 |
13 742900 |
||
14 2674440</pre> |
14 2674440</pre> |
||
==={{Header|Tiny BASIC}}=== |
|||
Integers are limited to 32767 so only the first ten Catalan numbers can be represented. And even then one has to do some finagling to avoid internal overflows. |
|||
<lang Tiny BASIC> |
|||
10 LET N = 0 |
|||
20 LET C = 1 |
|||
30 print N," ",C |
|||
40 IF N > 9 THEN END |
|||
50 LET N = N + 1 |
|||
60 GOSUB 100 |
|||
70 LET C = (2*N - 1)*C |
|||
80 LET C = 2*C/(N+1) + 2*I*(2*N-1) |
|||
90 GOTO 30 |
|||
100 LET I = 0 REM to avoid internal overflow, I subtract something clever from |
|||
110 IF C <= 0 THEN RETURN REM C and then add it back at the end |
|||
120 LET C = C - (N+1) |
|||
130 LET I = I + 1 |
|||
140 GOTO 110</lang> |
|||
{{out}} |
|||
<pre>0 1 |
|||
1 1 |
|||
2 2 |
|||
3 5 |
|||
4 14 |
|||
5 42 |
|||
6 132 |
|||
7 429 |
|||
8 1430 |
|||
9 4862 |
|||
10 16796</pre> |
|||
=={{header|BBC BASIC}}== |
=={{header|BBC BASIC}}== |