Pascal's triangle: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) |
(→{{header|TypeScript}}: Added.) |
||
Line 5,745: | Line 5,745: | ||
1 4 6 4 1 |
1 4 6 4 1 |
||
1 5 10 10 5 1 |
1 5 10 10 5 1 |
||
== {{header|TypeScript}} == |
|||
{{trans|XPL0}} |
|||
<lang javascript>// Pascal's triangle |
|||
function pascal(n: number): void { |
|||
// Display the first n rows of Pascal's triangle |
|||
// if n<=0 then nothing is displayed |
|||
var ld: number[] = new Array(40); // Old |
|||
var nw: number[] = new Array(40); // New |
|||
for (var row = 0; row < n; row++) { |
|||
nw[0] = 1; |
|||
for (var i = 1; i <= row; i++) |
|||
nw[i] = ld[i - 1] + ld[i]; |
|||
process.stdout.write(" ".repeat((n - row - 1) * 2)); |
|||
for (var i = 0; i <= row; i++) { |
|||
if (nw[i] < 100) |
|||
process.stdout.write(" "); |
|||
process.stdout.write(nw[i].toString()); |
|||
if (nw[i] < 10) |
|||
process.stdout.write(" "); |
|||
process.stdout.write(" "); |
|||
} |
|||
nw[row + 1] = 0; |
|||
// We do not copy data from nw to ld |
|||
// but we work with references. |
|||
var tmp = ld; |
|||
ld = nw; |
|||
nw = tmp; |
|||
console.log(); |
|||
} |
|||
} |
|||
pascal(13); |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
1 |
|||
1 1 |
|||
1 2 1 |
|||
1 3 3 1 |
|||
1 4 6 4 1 |
|||
1 5 10 10 5 1 |
|||
1 6 15 20 15 6 1 |
|||
1 7 21 35 35 21 7 1 |
|||
1 8 28 56 70 56 28 8 1 |
|||
1 9 36 84 126 126 84 36 9 1 |
|||
1 10 45 120 210 252 210 120 45 10 1 |
|||
1 11 55 165 330 462 462 330 165 55 11 1 |
|||
1 12 66 220 495 792 924 792 495 220 66 12 1 |
|||
</pre> |
|||
=={{header|uBasic/4tH}}== |
=={{header|uBasic/4tH}}== |