展开全部

import java.math.*;

import java.util.*;

import java.text.*;

public class matrix {

static int map1[][]=new int [110][110];

static int just[][]=new int [110][110];

public static void printf(int n,int map[][])

{

int i,j;

for(i=1;i<=n;i++ )

{

for(j=1;j

System.out.print(map[i][j]+" ");

System.out.println(map[i][j]);

}

}

public static void get(int numi,int numj,int map[][],int n)

{

int i,j,k,l;

for(i=0;i

for(j=0;j

just[i][j]=1;

for(i=1;i<=n-1;i++)//求余子式矩阵

for(j=1;j<=n-1;j++)

{

if(i>=numi&&j

just[i][j]=map[i+1][j];

else if(i>=numi&&j>=numj)

just[i][j]=map[i+1][j+1];

else if(i=numj)

just[i][j]=map[i][j+1];

else if(i

just[i][j]=map[i][j];

}

}

//static int map[][]=new int [110][110];

public static int getans(int nn)

{

int map[][]=new int [110][110];

for(int i=1;i<=nn;i++)

for(int j=1;j<=nn;j++)

map[i][j]=just[i][j];

if(nn==2)

return map[1][1]*map[2][2]-map[1][2]*map[2][1];

else if(nn==1)

return map[1][1];

else

{

int cnb=0;

for(int i=1;i<=nn;i++)

{

get(1,i,map,nn);//得到当前余子式 just

//  printf("pay attention!\n");

//print(map,nn);

//print(just,nn-1);

if(i%2==1)

cnb+=map[1][i]*getans(nn-1);

else

cnb-=map[1][i]*getans(nn-1);

}

return cnb;

}

}

public static int gcd(int m,int n)

{

//      if(m

//      matrix.gcd(n,m);

//      if(n==0)

//      return m;

//

//      else

//      return matrix.gcd(n,m%n);

int mm=m;

int nn=n;

if(mm

{

int c=mm;

mm=nn;

nn=c;

}

int w=1;

while(w!=0)

{

w=mm%nn;

mm=nn;

nn=w;

}

return mm;

}

public static void ans(int n,int m)

{

if(n*m<0)

{

System.out.print("-");

ans(Math.abs(n),Math.abs(m));

return ;

}

if(m==1)

System.out.print(n+"\t");

else if(n%m==0)

System.out.print(n/m+"\t");

else

System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t");

}

public static void main(String[] args) {

// TODO 自动生成e69da5e6ba903231313335323631343130323136353331333361326239的方法存根

Scanner cin=new Scanner(System.in);

int i,j,k,l,m,p;

while(true)

{

int n=cin.nextInt();

int ans=0;

for(i=0;i

for(j=0;j

map1[i][j]=1;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{

map1[i][j]=cin.nextInt();

just[i][j]=map1[i][j];

}

int ans1=matrix.getans(n);

System.out.println("矩阵的值为:");

System.out.println(ans1);

int map2[][]=new int [110][110];

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{

map2[i][j]=map1[j][i];

just[i][j]=map2[i][j];

}

System.out.println("转置矩阵为:");

matrix.printf(n, map2);

int help2=matrix.getans(n);

System.out.println(help2);

if(help2==0)

{

System.out.println("No inverse matrix");

continue;

}

System.out.println("逆矩阵为:");

for(i=1;i<=n;i++)

{

for(j=1;j<=n;j++)

{

matrix.get(i, j, map2, n);

//boolean b=((i+j)%2==0);

if((i+j)%2==0)

matrix.ans(matrix.getans(n-1), help2);

else

matrix.ans(matrix.getans(n-1)*-1, help2);

}

System.out.println();

}

System.out.println();

}

}

}

java求矩阵的逆矩阵_java n*n矩阵求值及求逆矩阵相关推荐

  1. java数据类型及表示范围_Java数据类型及对应取值范围

    在Java中,数据类型分为两大种:基本数据类型(值类型)和包装类型(引用数据类型).基本数据类型不是对象,不能调用toString().hashCode().getClass().equals()等方 ...

  2. java定义一个矩阵的类_java写入一个矩阵,如何编程求该矩阵的秩

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Fraction.java如下:(这个是网上找来的,处理分数的类) // 支持查找功能的分数类 class Fraction implements Com ...

  3. java开发中用矩阵图吗_Java中的矩阵使用

    public class TestArr { public static void main(String[] args) { int m = 3; // m行 int n = 4; // n列 in ...

  4. java int 传引用吗_Java的参数传递是「值传递」还是「引用传递」?

    关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题. 有人说Java中只有值传递,也有人说值传递和引用传递都是存在的,比较容易让人产生疑问. 关于值传递和引用传递其实需要分情况看待. ...

  5. java中如何调用属性_java – 如何从属性文件导入值并在注释中使用它?

    我有一个实体类: Class.java @Entity public class Class { @Id @GeneratedValue private Long id; @NotNull @Rang ...

  6. java 反射修改final变量_Java中final的属性值怎么利用反射机制进行修改

    Java中final的属性值怎么利用反射机制进行修改 发布时间:2020-12-02 17:31:07 来源:亿速云 阅读:96 作者:Leah 今天就跟大家聊聊有关Java中final的属性值怎么利 ...

  7. java char 初始化为空格_java中char的初始值此代码运行后,char的初始值为空?为 爱问知识人...

    jdk官方教程里有写 Default Values(缺省值) ----------------------------------------------------- |Data Type |Def ...

  8. java 给字典类型赋值_java使用forEach填充字典值

    // 填充字典值 Vector vector = vectorMapper.selectByPrimaryKey(id); VectorModel vectorModel = new VectorMo ...

  9. java 判断是几位数_Java 快速判断一个int值是几位数

    今天在一篇文章中看到介绍 快速判断int 值是几位数的程序,感觉很不错,挺强大的,收藏在这里,学习了. public class Test { final static int[] sizeTable ...

最新文章

  1. Java Vector setElementAt()方法与示例
  2. 简单理解极大似然估计MLE
  3. 解决mysql导入数据量很大导致失败及查找my.ini 位置(my.ini)在哪
  4. php 地址栏url,php 如何隐藏url地址栏参数
  5. ZooKeeper教程(一)----Centos7下安装ZooKeeper(单机版)
  6. 阶乘之和计算_浅谈积分计算的技巧
  7. 如何彻底搞懂面向 Web 开发者的正则表达式?
  8. python的书籍推荐_python 书籍推荐
  9. android 内存清理,安卓系统内存清理的方法
  10. win7桌面背景_win7桌面背景怎么改?
  11. javassist官方文档翻译
  12. Magnification API-Windows放大镜
  13. 嵌入式 Linux 入门 环境篇(一、开发板初体验)
  14. sqlserver恢复已经删除的表记录
  15. 一款支持语音搜索及语音Voip的浏览器
  16. rsync udr——远程大文件传输加速
  17. win10计算机系统优化设置,Win10不如win7?超实用win10系统优化设置,让电脑运行更流畅!...
  18. mysql的default_sql语句中default是什么意思?
  19. c语言中3次方函数图像,三次函数的性质
  20. 微信开发-js接口的使用无法使用分享功能的一些说明

热门文章

  1. MPLS-VPN实验
  2. DDMS分析应用内存中的敏感信息
  3. View UI (iview)动态表单 使用教程
  4. 曝腾讯天美程序员税后250万,月均20万
  5. 51单片机入门基础介绍
  6. HDLBits:在线学习Verilog(七 · Problem 30-34)
  7. 基于人工智能算法实现AI足球比赛
  8. 单页应用 (SPA)
  9. 2019.11.23-参加 21世纪杯 中小学英语演讲大赛
  10. jenkins新版本+gitlab配置自动化部署报错Hook executed successfully but returned HTTP 403,没有CSRF选项