矩阵乘法
来源:互联网 发布:手机看pdf软件 编辑:程序博客网 时间:2024/06/05 07:42
问题描述
给定一个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
注意:
矩阵的0次幂为单位矩阵
#include <iostream>using namespace std;int main(){ int k,n,i,j,m,num1[31][31],num2[31][31],num3[31][31]={0};//用三个二维数组表示矩阵 cin>>n>>m; for(i=0;i<n;i++) { for(j=0;j<n;j++) { cin>>num1[i][j]; num2[i][j]=num1[i][j];//初始化第二个二维数组 } } if(m==0)//0次幂,输出单位矩阵 { for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(i==j) cout<<"1 "; else cout<<"0 "; } cout<<endl; } } else { while(m-1>0) { for(k=0;k<n;k++) { for(i=0;i<n;i++) { for(j=0;j<n;j++) { num3[k][i]+=num1[k][j]*num2[j][i];//num3表示每多乘一次后的结果 } } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { num2[i][j]=num3[i][j];//将数组num3复制给num2,进行下一次相乘 num3[i][j]=0;//数组num3初始化为0 } } m--; } for(i=0;i<n;i++) { for(j=0;j<n;j++) { cout<<num2[i][j]<<" "; } cout<<endl; } } return 0;}
阅读全文
0 0
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- window环境下apache+tomcat 反向代理集群配置教程
- SpringMVC @RequestBody接收Json对象字符串
- Eclipse插件安装(在线和离线方式)
- linux下实现svn/maven自动拉取代码并发布
- MailBee.NET Objects接收电子邮件(POP3)教程三:POP3认证
- 矩阵乘法
- 对象
- 从leetcode 92.reverse-linked-list-ii 对链表的认识
- React Native加载图片详解
- mysql5.7.18修改或者设置密码
- CSU-ACM2017暑假集训2-二分搜索 poj-32732 Monthly Expense
- 【主流身份管理技术辨析】Authentication and Authorization: OpenID vs OAuth2 vs SAML
- Data Binding学习(二)
- 136. Single Number