zoukankan      html  css  js  c++  java
  • ADV-292 计算行列式 java

    问题描述
      //据说很多人的题目会有一大堆废话,本傻×就不在这里废话了。
      给定一个N×N的矩阵A,求|A|。
    输入格式
      第一行一个正整数N。
      接下来N行,每行N个整数,第i行第j个数字表示A[i][j]。
    输出格式
      一行,输出|A|。
    样例输入
    2
    1 2
    3 4
    样例输出
    -2
    数据规模和约定
      0<N≤6
      -10≤A[i][j]≤10
     
     
     
    很简单的一道线性代数题目
    用简单化的拉普拉斯定理就行了
     
     1 import java.util.*;
     2 
     3 public class Main {
     4     
     5     static int getit(int[][] a, int n) {
     6         if(n == 1) return a[0][0];
     7         if(n == 2) return a[0][0] * a[1][1] - a[0][1] * a[1][0];
     8         int[][] shuzu = new int[n-1][n-1];
     9         int ans = 0;
    10         for(int i = 0; i < n; ++i) {        //每次将a[0][i]的行列去掉,赋值给一个新的数组
    11             for(int x = 0; x < n-1; ++x) {
    12                 for(int y = 0; y < i; ++y)
    13                     shuzu[x][y] = a[x+1][y];
    14                 for(int y = i; y < n-1; ++y)
    15                     shuzu[x][y] = a[x+1][y+1];
    16                 
    17             }
    18                 
    19                     
    20             ans += a[0][i] * Math.pow(-1, i) * getit(shuzu, n-1);    //然后进行递归
    21         }
    22         return ans;
    23     }
    24     
    25     public static void main(String args[]) {
    26         
    27         Scanner sc = new Scanner(System.in);
    28         int n = sc.nextInt();
    29         int[][] shu = new int[n][n];
    30         for(int i = 0; i < n; i++) 
    31             for(int j = 0; j < n; j++)
    32                 shu[i][j] = sc.nextInt();
    33         System.out.print(getit(shu, n));    
    34         
    35         
    36 }
    37 }

    同时也激发起我对线性代数的求生欲 0.0

  • 相关阅读:
    HDFS 常用Shell命令
    Hadoop单点伪分布模式安装
    部署及更新应用
    Linux云服务器下Tomcat部署超详细
    Android基础知识总结系列(一)——Android 系统框架
    Linux下的暴力密码在线破解工具Hydra安装及其组件安装-使用
    Luogu1501 Tree Ⅱ
    C#中Dictionary的用法(转)
    Lua协程
    SSH Secure Shell Client
  • 原文地址:https://www.cnblogs.com/ohuo/p/12335145.html
Copyright © 2011-2022 走看看