-1
我遇到了这个实现的问题。它给了我一个错误,“这个表达式具有类型布尔,但这里有单位”在整个块上从第一个for循环开始,并以pown表达式结束。递归计算N×N矩阵行列式
我不完全确定这是什么意思。
let rec detMat (m : int[,]) : int =
let mutable det = 0
let mutable n = m.Length
let mutable i = 0
let mutable j = 0
let mutable j = 0
let mutable j1 = 0
let mutable j2 = 0
let mTmp = Array2D.create 0
if n = 1 then
det = m.[0, 0]
elif n = 2 then
det = m.[0, 0] * m.[1, 1] - m.[1, 0] * m.[0, 1]
else
det = 0
for j1 = 0 to n do
for i = 1 to n do
j2 = 0
for j = 0 to n do
if j <> j1 then
mTmp.[i-1, j2] <- m.[i, j]
j2 = j2 + 1
pown -1 (1 + j1 + 1) * m.[0, j1] * detMat(mTmp, n-1)
det
'='是平等比较,'<-'是赋值。 – ildjarn