蓝桥网试题 java 基础练习 矩阵乘法

------------------------------------------------------------

第一次感觉到好好学习的重要性QAQ

在做这道题之前请先学会 :矩阵乘法(百度百科)

矩阵的0次幂:对角线为1 其他值为0 例如

结果

------------------------------------------------------------

算法

 1 import java.util.*;
 2 public class Main {
 3     public static void main(String[] args) {
 4         Scanner sc = new Scanner(System.in);
 5         int n = sc.nextInt();
 6         int m = sc.nextInt();
 7         long[][] a = new long[n][n];
 8         long[][] b = new long[n][n];
 9         int i,j;
10         for(i=0;i<n;i++)
11             for(j=0;j<n;j++)
12                 b[i][j]=a[i][j] = sc.nextLong();
13         if(m==0)
14             for(i=0;i<n;i++){
15                 for(j=0;j<n;j++){
16                     if(i==j)System.out.print(1+" ");
17                     else System.out.print(0+" ");
18                 }
19                 System.out.println();
20             }
21         else if(m==1)
22             for(i=0;i<n;i++){
23                 for(j=0;j<n;j++)
24                     System.out.print(a[i][j]+" ");
25                 System.out.println();
26             }
27         else{
28             for(int z=1;z<m;z++){
29                 long[][] tmp = new long[n][n];
30                 for(i=0;i<n;i++){
31                     for(j=0;j<n;j++){
32                         long add = 0;
33                         for(int y=0;y<n;y++){
34                             add += a[i][y]*b[y][j];
35                         }
36                         tmp[i][j] = add;
37                     }
38                 }
39                 b = tmp;
40             }
41             for(i=0;i<n;i++){
42                 for(j=0;j<n;j++)
43                     System.out.print(b[i][j]+" ");
44                 System.out.println();
45             }
46         }
47
48     }
49 }
时间: 2024-10-10 22:02:11

蓝桥网试题 java 基础练习 矩阵乘法的相关文章

蓝桥网试题 java 基础练习 矩形面积交

------------------------------------------------------------------------------------------- 思路见锦囊2 ------------------------------------------------------------------------------------------- 算法 1 import java.util.Scanner; 2 public class Main { 3 publ

蓝桥杯基础练习---矩阵乘法

基础练习 矩阵乘法 时间限制:1.0s   内存限制:512.0MB 锦囊1 锦囊2 锦囊3 问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22 输入格式 第一行是一个正整数N.M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵.相邻的数之间用一个空格隔开 样例

蓝桥基础练习 矩阵乘法 BASIC-17(矩阵快速幂)

问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22 输入格式 第一行是一个正整数N.M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵.相邻的数之间用一个空格隔开 样例输入 2 21 23 4 样例输出 7 1015 22 解:矩阵乘法满足结合律,所以也可以用快

1571:基础练习 矩阵乘法

题目:https://acmore.cc/problem/LOCAL/1571#desc 解法一:二维数组(因为二维数组不能作为函数的返回值,所以处理起来比较麻烦,此时推荐使用vector表示二维数组,请看解法二) 1 #include <iostream> 2 3 using namespace std; 4 5 int a[30][30] = { 0 }; //初始矩阵 6 int b[30][30] = { 0 }; //结果矩阵 7 8 int getMultiSum(int a1[]

【试题 基础练习 矩阵乘法】暴力矩阵乘法,再次了解一下矩阵

问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22 输入格式 第一行是一个正整数N.M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵.相邻的数之间用一个空格隔开 样例输入 2 21 23 4 样例输出 7 1015 22 import java.io.Buff

面试题---Java基础

1.面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么.- 继承:继承是从已有类得到继承信息创建新类的过程.提供继承信息的类被称为父类(超类.基类):得到继承信息的类被称为子类(派生类).继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段- 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只

java面试题-java基础

1.1java与其他语言相比,有什么优点和缺点? 首先,java与c.c++相比,java是一种完全的面对对象的语言,虽然他的底层(运行时库)使用c语言开发的,可是并不依赖于c,因为java的运行是在运行时库的支持下进行的,所以所以运行效率可以更接近底层的c.c++来说效率会有所影响,不过java的类库采用很好的设计理念,非常好用,页非常实用,已经成为业界的一种标准的开发语言,他的跨平台的特性收到开发者的青睐,只需要开发一次就能在所有安装了java运行时库的环境中运行. 其次,java和c#相比

基础练习 矩阵乘法

时间限制:1.0s   内存限制:512.0MB 问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22 输入格式 第一行是一个正整数N.M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵.相邻的数之间用一个空格隔开 样例输入 2 21 23 4 样例输出 7 10

基础练习 矩阵乘法 时间限制:1.0s 内存限制:512.0MB

时间限制:1.0s   内存限制:512.0MB 问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22 输入格式 第一行是一个正整数N.M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵.相邻的数之间用一个空格隔开 样例输入 2 2 1 2 3 4 样例输出 7