蓝桥杯C++——试题 基础练习 矩阵乘法(VIP试题)

蓝桥杯试题集试题总汇(C++)

问题描述

  给定一个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 10
15 22

参考代码

#include
using namespace std;
int main()
{
    int n,m;
    cin>>n>>m;
    int a[n][n],b[n][n],c[n][n];/*这里二维数组b存储一直存储二维数组,c[n][n]存储矩阵每次乘积的中间结果,
                           比如矩阵3次幂,a*b复制给c,然后a=c,a再和b相乘就是结果。*/
    int i,j,k,z;
    for(i=0; i>a[i][j];//输入矩阵
            b[i][j]=a[i][j];
        }
    }
    if(m==0)//注意矩阵的0次幂结果是单位矩阵
    {
        for(i=0; i

备注

注意矩阵0次幂和1次幂的结果。另外矩阵的乘法规则要了解。

你可能感兴趣的:(蓝桥杯C++)