Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
40
Task/Pascals-triangle/NetRexx/pascals-triangle.netrexx
Normal file
40
Task/Pascals-triangle/NetRexx/pascals-triangle.netrexx
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/* NetRexx */
|
||||
options replace format comments java crossref symbols nobinary
|
||||
|
||||
numeric digits 1000 -- allow very large numbers
|
||||
parse arg rows .
|
||||
if rows = '' then rows = 11 -- default to 11 rows
|
||||
printPascalTriangle(rows)
|
||||
return
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
method printPascalTriangle(rows = 11) public static
|
||||
lines = ''
|
||||
mx = (factorial(rows - 1) / factorial(rows % 2) / factorial(rows - 1 - rows % 2)).length() -- width of widest number
|
||||
|
||||
loop row = 1 to rows
|
||||
n1 = 1.center(mx)
|
||||
line = n1
|
||||
loop col = 2 to row
|
||||
n2 = col - 1
|
||||
n1 = n1 * (row - n2) / n2
|
||||
line = line n1.center(mx)
|
||||
end col
|
||||
lines[row] = line.strip()
|
||||
end row
|
||||
|
||||
-- display triangle
|
||||
ml = lines[rows].length() -- length of longest line
|
||||
loop row = 1 to rows
|
||||
say lines[row].centre(ml)
|
||||
end row
|
||||
|
||||
return
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
method factorial(n) public static
|
||||
fac = 1
|
||||
loop n_ = 2 to n
|
||||
fac = fac * n_
|
||||
end n_
|
||||
return fac /*calc. factorial*/
|
||||
Loading…
Add table
Add a link
Reference in a new issue