Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,47 @@
|
|||
function factorial (n)
|
||||
local f = 1
|
||||
for i = 2, n do
|
||||
f = f * i
|
||||
end
|
||||
return f
|
||||
end
|
||||
|
||||
function binomial (n, k)
|
||||
if k > n then return 0 end
|
||||
return factorial(n) / (factorial(k) * factorial(n - k))
|
||||
end
|
||||
|
||||
function pascalMatrix (form, size)
|
||||
local matrix = {}
|
||||
for row = 1, size do
|
||||
matrix[row] = {}
|
||||
for col = 1, size do
|
||||
if form == "upper" then
|
||||
matrix[row][col] = binomial(col - 1, row - 1)
|
||||
end
|
||||
if form == "lower" then
|
||||
matrix[row][col] = binomial(row - 1, col - 1)
|
||||
end
|
||||
if form == "symmetric" then
|
||||
matrix[row][col] = binomial(row + col - 2, col - 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
matrix.form = form:sub(1, 1):upper() .. form:sub(2, -1)
|
||||
return matrix
|
||||
end
|
||||
|
||||
function show (mat)
|
||||
print(mat.form .. ":")
|
||||
for i = 1, #mat do
|
||||
for j = 1, #mat[i] do
|
||||
io.write(mat[i][j] .. "\t")
|
||||
end
|
||||
print()
|
||||
end
|
||||
print()
|
||||
end
|
||||
|
||||
for _, form in pairs({"upper", "lower", "symmetric"}) do
|
||||
show(pascalMatrix(form, 5))
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue