您好,登錄后才能下訂單哦!
這篇文章主要介紹SpringBoot整合MybatisPlus中矩陣乘法和矩陣的m次冪怎么實現,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
給定一個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次冪所對應的矩陣。相鄰的數之間用一個空格隔開
#include <iostream>#include <vector>using namespace std;int N=0,M=0;//函數 MulMatrix()實現矩陣M1*M2 vector<vector <int> > MulMatrix(vector<vector <int> > M1, vector<vector <int> > M2){ vector<vector <int> > Mul(N, vector<int>(N,0));for(int i=0; i<N; i++)for(int j=0; j<N; j++)for(int k=0; k<N; k++){ Mul[i][j]+=M1[i][k]*M2[k][j];}return Mul;}//函數ReMulMatrix()實現矩陣A的m次冪 vector <vector <int> > ReMulMatrix(vector <vector <int> > A, int m){ vector<vector <int> > ResultMatrix(N, vector<int>(N,0));for(int i=0; i<N; i++) //初始化ResultMatrix為單位矩陣 for(int j=0; j<N; j++){ if(i==j) ResultMatrix[i][j]=1;}if(m==0){ return ResultMatrix; //零次冪為單位矩陣 }else if(m==1)return A; //1次冪為原矩陣 elsewhile(m!=0){ ResultMatrix=MulMatrix(ResultMatrix, A); m--;}return ResultMatrix;}int main(){ cin>>N; //N=1-30 cin>>M; //M=0-5//初始化輸入a、輸出b為包含N個vector<int>的容器,且每個vector<int>包含N個0 vector<vector<int> > Output(N, vector<int>(N,0)), a(N, vector<int>(N,0));//輸入 for(int i=0; i<N; i++)for(int j=0; j<N; j++){ cin>>a[i][j];} //計算 Output = ReMulMatrix(a, M);// 輸出 for(int i=0; i<N; i++){ for(int j=0; j<N; j++){ cout<<Output[i][j]<<">;} cout<<endl;}return 0;}
以上是“SpringBoot整合MybatisPlus中矩陣乘法和矩陣的m次冪怎么實現”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。