求矩阵的n次幂
为了方便将数组设置成了固定的,如果要求任意数组另外定义即可;
#include<iostream>
using namespace std;
int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9},b[3][3]={1,2,3,4,5,6,7,8,9},c[3][3]={0};
int n;
cin>>n;
if(n==1)
{
for(int i1=0;i1<3;i1++)
{
for(int j1=0;j1<3;j1++)
{
c[i1][j1]=a[i1][j1];
}
}
}
else
{
for(int i=2;i<=n;i++)
{
for(int j=0;j<3;j++)
{
for(int k=0;k<3;k++)
{
for(int t=0;t<3;t++)
{
c[j][k]+=a[j][t]*b[t][k];
}
}
}
for(int i1=0;i1<3;i1++)
{
for(int j1=0;j1<3;j1++)
{
b[i1][j1]=c[i1][j1];
}
}
}
}
for(int j=0;j<3;j++)
{
if(j!=0)
cout<<endl;
for(int k=0;k<3;k++)
{
cout<<c[j][k]<<" ";
}
}
return 0;
}