入门必备线性代数与编程语言能摩擦出怎样的火花?
Posted Sivan_Xin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入门必备线性代数与编程语言能摩擦出怎样的火花?相关的知识,希望对你有一定的参考价值。
前言
是不是有的小伙伴已经学习了线性代数,但只知道它对于我们以后计算机的学习有帮助,却不知道具体体现在哪?
今天作者就带你们了解一些简单的题目。让你知道你的线性代数没有白学!!!
四道简单的矩阵题目
作者保证一定基础!编程小白也能看懂哦~
矩阵相等判定
题目描述:
系统给出两个 n*m 的矩阵,如果两个矩阵相等,就输出Yes,否则输出No。
import java.util.Scanner;
public class Main
public static void main(String[] args)
Scanner in = new Scanner (System.in);
int n=in.nextInt();
int m=in.nextInt();
int [][]a=new int [n][m];
int [][]a1=new int [n][m];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
a[i][j]=in.nextInt();
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
a1[i][j]=in.nextInt();
if(a[i][j]==a1[i][j])
continue;
else
System.out.print("No");
return;
System.out.print("Yes");
上三角矩阵判定
题目描述:
系统给出一个n*n的矩阵,判断该矩阵是否是上三角矩阵。是输出Yes,否则输出No。
import java.util.Scanner;
public class Main
public static void main(String[] args)
Scanner in = new Scanner (System.in);
int n=in.nextInt();
int [][]a=new int [n][n];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
a[i][j]=in.nextInt();
for(int i=1;i<n;i++)
for(int j=0;j<i;j++) //注意这里的条件,j<i,判断下三角矩阵
if(a[i][j]==0)
continue;
else
System.out.println("NO");
return ;
System.out.println("YES");
矩阵转置
题目描述:
系统给出n * m的矩阵,转置为m*n的矩阵。最后打印m * n的矩阵。
import java.util.Scanner;
public class Main
public static void main(String[] args)
Scanner in = new Scanner (System.in);
int n=in.nextInt();
int m=in.nextInt();
int [][]a=new int [n][m];
int [][]a1=new int [m][n];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
a[i][j]=in.nextInt();
a1[j][i]=a[i][j]; //行等于列,列等于行
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
System.out.print(a1[i][j]+" ");
System.out.print("\\n");
矩阵交换
题目描述:
import java.util.Scanner;
public class Main
public static void main(String[] args)
Scanner in = new Scanner (System.in);
int n=in.nextInt();
int m=in.nextInt();
int [][]a=new int [n][m];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
a[i][j]=in.nextInt();
int k=in.nextInt();
while(k!=0)
String t=in.next();
int c=in.nextInt()-1;
int c1=in.nextInt()-1;
if(t.equals("r")) //进行行变换,列不变
for(int j=0;j<m;j++)
int temp=a[c][j];
a[c][j]=a[c1][j];
a[c1][j]=temp;
else if(t.equals("c")) //进行列变换,行不变
for(int i=0;i<n;i++)
int temp=a[i][c1];
a[i][c1]=a[i][c];
a[i][c]=temp;
k--;
for(int i=0;i<n;i++) //打印
for(int j=0;j<m;j++)
System.out.print(a[i][j]+" ");
System.out.print("\\n");
上述题目来源:牛客网
最后,如果觉得作者写的不错的话,可以给一个点赞或者关注再走哦~
以上是关于入门必备线性代数与编程语言能摩擦出怎样的火花?的主要内容,如果未能解决你的问题,请参考以下文章
Gitea+Jenkins能碰撞出怎样的火花?浅谈前端自动化部署
HarmonyOS + linkboy + 小熊派,能擦出怎样的火花?