入门必备线性代数与编程语言能摩擦出怎样的火花?

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能碰撞出怎样的火花?浅谈前端自动化部署

万众瞩目下,AI能与游戏擦出怎样的火花?

当 AI 邂逅绘画艺术,能迸发出怎样的火花?

HarmonyOS + linkboy + 小熊派,能擦出怎样的火花?

当 RocketMQ 遇上 Serverless,会碰撞出怎样的火花?

当 RocketMQ 遇上 Serverless,会碰撞出怎样的火花?