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-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)