Pascal's triangle: Difference between revisions

m
→‎{{header|Wren}}: Minor tidy and now uses binomial method in Math module.
m (→‎{{header|Wren}}: Minor tidy and now uses binomial method in Math module.)
 
(One intermediate revision by one other user not shown)
Line 2,038:
<syntaxhighlight>
numfmt 0 4
proc pascal n . .
n = 13
r[] = [ 1 ]
for i to n
rn[] = [ ]
l = 0
for j to n - len r[]
write " "
.
for r in r[]
write r
rn[] &= l + r
l = r
} .
print ""
rn[] &= l
swap r[] rn[]
.
print ""
rn[] &= l
swap r[] rn[]
.
pascal 13
</syntaxhighlight>
 
Line 6,404 ⟶ 6,406:
=={{header|Wren}}==
{{libheader|Wren-fmt}}
{{libheader|wrenWren-math}}
<syntaxhighlight lang="ecmascriptwren">import "./fmt" for Fmt
import "./math" for Int
 
var binomial = Fn.new { |n, k|
if (n == k) return 1
var prod = 1
var i = n - k + 1
while (i <= n) {
prod = prod * i
i = i + 1
}
return prod / Int.factorial(k)
}
 
var pascalTriangle = Fn.new { |n|
Line 6,424 ⟶ 6,415:
System.write(" " * (n-i-1))
for (j in 0..i) {
Fmt.write("$3d ", binomialInt.callbinomial(i, j))
}
System.print()
9,476

edits