// 主对角线法 ,不管是怎么求值,row始终是要往下移  
int CalDeterminant(
int (*data)[vertexNum|1],// 行列式,下标从1开始 
int n// 行列式大小 
) {
    
    int r0, r1,row,col;
    int value;
    //
    r0 = 0;
    for (int i = n; i >= 1; i--) {
        row = 1;
        col = i;
        value = 1;
        for (int j = 1; j <= n; j++) {
            value *= arr[row][col];
            row++;
            col--;
            if (col == 0) col = n;
        }
        r0 += value;
    }
    
    //
    r1 = 0;
    for (int i = 1; i <= n; i++) {
        row = 1;
        col = i;
        value = 1;
        for (int j = 1; j <= n; j++) {
            value *= arr[row][col];
            row++;
            col = (col+1)%(n+1);
            if (col == 0) col = 1;
        }
        r1 += value;
    }
    
    return r1+r0;
}

 

相关文章:

  • 2022-12-23
  • 2021-12-12
  • 2022-12-23
  • 2021-06-03
  • 2022-01-07
  • 2021-04-11
  • 2021-11-25
猜你喜欢
  • 2022-02-04
  • 2021-08-23
  • 2021-10-28
  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
  • 2021-11-22
相关资源
相似解决方案