例如:
A =
1 2
3 4
A的2次冪
7 10
15 22
接下來N行,每行N個絕對值不超過10的非負整數,描述矩陣A的值
1 2
3 4
15 22
#include<stdio.h>
int a[30][30];
int b[30][30]={{0},{0}};
int c[30][30];
int MarixInput(int N){
int i,j;
for(i = 0;i < N; i++)
for(j =0; j < N; j++){
scanf("%d",&a[i][j]);
}
for(i = 0; i < N;i++)
for(j = 0;j < N;j ++)
b[i][i] = 1;
return 0;
}
int MarixArrary(int N,int M){
int i,j,k,s;
for(s = 0; s < M; s++){
for(i = 0; i < N; i++){
for(j = 0; j< N ; j++){
c[i][j] = 0;
for(k = 0; k < N; k++)
c[i][j] += a[i][k]*b[k][j];
}
}
for(i = 0; i < N;i++){
for(j = 0; j < N; j++)
b[i][j] = c[i][j];
}
}
return 0;
}
void MarixOutput( int N){
int i,j;
for(i = 0;i < N ; i++){
for(j = 0; j < N ; j++){
printf("%d ",b[i][j]);
}
printf("\r\n");
}
}
int main(){
int N,M;
scanf("%d%d",&N,&M);
MarixInput(N);
MarixArrary(N,M);
MarixOutput(N);
return 0;
}