java递归计算n阶行列式
2022/2/3 12:12:26
本文主要是介绍java递归计算n阶行列式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
给定一个N×N的矩阵A,求|A|。
输入格式:
第一行一个正整数N。 接下来N行,每行N个整数,
第i行第j个数字表示A[i][j]。
输出格式 一行,输出|A|。
java代码:
import java.util.Scanner; public class Main { public static int f(int arr[][], int n) { if(n==1) return arr[0][0]; if(n==2) { return (arr[0][0]*arr[1][1]-arr[0][1]*arr[1][0]); } else { // sum保存arr矩阵的行列式|A| int sum = 0; // 根据求行列式的公式计算 for(int i=0;i<n;++i) { // 求出每个子矩阵 int arr1[][] = new int[n-1][n-1]; for(int j=1;j<n;++j) { int count = 0; for(int k=0;k<n;++k) { if(k!=i) arr1[j-1][count++] = arr[j][k]; } } int temp = arr[0][i]*f(arr1,n-1); if(((i+1+1)%2)!=0) temp = (-1)*temp; sum+=temp; } return sum; } } public static void main(String[] args) { int n; Scanner in = new Scanner(System.in); n = in.nextInt(); int arr[][] = new int[n][n]; for(int i=0;i<n;++i) { for(int j=0;j<n;++j) { arr[i][j] = in.nextInt(); } } System.out.println(f(arr,n)); } }
这篇关于java递归计算n阶行列式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南