蓝桥杯 试题 基础练习 矩阵乘法
时间:2022-07-24
本文章向大家介绍蓝桥杯 试题 基础练习 矩阵乘法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题意:给定一个N阶矩阵A,输出A的M次幂(M是非负整数)
思路:需要了解矩阵的相关性质,矩阵的0次幂为单位矩阵,及主对角线为1,其余的都为0,矩阵的1次幂为本身,当大于等于2时,需要每次等到一次相乘后的矩阵后,赋值给另一个数组,然后幂次数减一,如此直到循环结束
#include<bits/stdc++.h>
#define maxn 100
using namespace std;
int a[maxn][maxn];
int b[maxn][maxn];
int c[maxn][maxn];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
b[i][j]=a[i][j];
}
}
if(m == 0){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i == j){
cout<<"1 ";
}
else
cout<<"0 ";
}
cout<<endl;
}
}
else if(m == 1){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
else if(m>=2){
while(m >= 2){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
int res = n;
while(res){
c[i][j]+=b[i][res-1]*a[res-1][j];
res--;
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
b[i][j] = c[i][j];
c[i][j] = 0;
}
}
m--;//阶乘减一
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<b[i][j]<<" ";
}
cout<<endl;
}
}
return 0;
}
- [编程经验] Python之collections模块
- 这或许是我见过的最简单的正则表达式教程(一)
- Linux下如何安装和卸载JDK
- 讨厌算法的程序员 2 - 证明算法的正确性
- Day4上午解题报告
- [编程经验] Python正则表达式
- Day4下午解题报告
- linux下 Error running javac compiler
- 讨厌算法的程序员 1 - 插入排序
- Linux下使用ssh密钥实现无交互备份
- [编程经验] Python中的continue和break语句
- 洛谷 P3386 【模板】二分图匹配 Dinic版
- [编程经验] 拉勾网爬虫数据的后续处理
- Linux下使用rsync实现文件备份
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android中RecyclerView的item宽高问题详解
- Andoroid实现底部图片选择Dialog效果
- Android中ExpandableListView使用示例详解
- Android 高德地图之poi搜索功能的实现代码
- Android实现底部弹出按钮菜单升级版
- Android实现单页面浮层可拖动view的示例代码
- 漫画:最长公共子序列
- RecyclerView的简单使用
- Android Parcelable接口使用方法详解
- 假期结束了,撸一篇技术和大伙分享下吧!
- Android AIDL实现跨进程通信的示例代码
- Android中SharedPreferences简单使用实例
- 功能强大的Android滚动控件RecyclerView
- Android使用 Retrofit 2.X 上传多文件和多表单示例
- Android状态栏白底黑字的示例代码