您好,登錄后才能下訂單哦!
這篇文章主要介紹SpringBoot整合MybatisPlus中矩陣乘法和矩陣的m次冪怎么實(shí)現(xiàn),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
給定一個(gè)N階矩陣A,輸出A的M次冪(M是非負(fù)整數(shù))
例如:
A =
1 2
3 4
A的2次冪
7 10
15 22
第一行是一個(gè)正整數(shù)N、M(1<=N<=30, 0<=M<=5),表示矩陣A的階數(shù)和要求的冪數(shù)
接下來N行,每行N個(gè)絕對(duì)值不超過10的非負(fù)整數(shù),描述矩陣A的值
輸出共N行,每行N個(gè)整數(shù),表示A的M次冪所對(duì)應(yīng)的矩陣。相鄰的數(shù)之間用一個(gè)空格隔開
#include <iostream>#include <vector>using namespace std;int N=0,M=0;//函數(shù) MulMatrix()實(shí)現(xiàn)矩陣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;}//函數(shù)ReMulMatrix()實(shí)現(xiàn)矩陣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個(gè)vector<int>的容器,且每個(gè)vector<int>包含N個(gè)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];} //計(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次冪怎么實(shí)現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。