Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
46
Task/Bell-numbers/CLU/bell-numbers.clu
Normal file
46
Task/Bell-numbers/CLU/bell-numbers.clu
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
bell = cluster is make, get
|
||||
rep = array[int]
|
||||
|
||||
idx = proc (row, col: int) returns (int)
|
||||
return (row * (row - 1) / 2 + col)
|
||||
end idx
|
||||
|
||||
get = proc (tri: cvt, row, col: int) returns (int)
|
||||
return (tri[idx(row, col)])
|
||||
end get
|
||||
|
||||
make = proc (rows: int) returns (cvt)
|
||||
length: int := rows * (rows+1) / 2
|
||||
arr: rep := rep$fill(0, length, 0)
|
||||
|
||||
arr[idx(1,0)] := 1
|
||||
for i: int in int$from_to(2, rows) do
|
||||
arr[idx(i,0)] := arr[idx(i-1, i-2)]
|
||||
for j: int in int$from_to(1, i-1) do
|
||||
arr[idx(i,j)] := arr[idx(i,j-1)] + arr[idx(i-1,j-1)]
|
||||
end
|
||||
end
|
||||
return(arr)
|
||||
end make
|
||||
end bell
|
||||
|
||||
start_up = proc ()
|
||||
rows = 15
|
||||
|
||||
po: stream := stream$primary_output()
|
||||
belltri: bell := bell$make(rows)
|
||||
|
||||
stream$putl(po, "The first 15 Bell numbers are:")
|
||||
for i: int in int$from_to(1, rows) do
|
||||
stream$putl(po, int$unparse(i)
|
||||
|| ": " || int$unparse(bell$get(belltri, i, 0)))
|
||||
end
|
||||
|
||||
stream$putl(po, "\nThe first 10 rows of the Bell triangle:")
|
||||
for row: int in int$from_to(1, 10) do
|
||||
for col: int in int$from_to(0, row-1) do
|
||||
stream$putright(po, int$unparse(bell$get(belltri, row, col)), 7)
|
||||
end
|
||||
stream$putc(po, '\n')
|
||||
end
|
||||
end start_up
|
||||
Loading…
Add table
Add a link
Reference in a new issue