生活随笔
收集整理的这篇文章主要介绍了
矩阵乘法(TLE)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
矩阵乘法(TLE)
问题描述 :
给定一个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次幂所对应的矩阵。相邻的数之间用一个空格隔开
输入范例 :
2 2
1 2
3 4
输出范例 :
7 10
15 22
#include<stdio.h>
int main(){int n
,m
;int i
,j
;int a
[30][30];int p
,q
,u
,v
,s
,t
;int b
[30][30],c
[30][30];scanf("%d %d",&n
,&m
);for(i
=0;i
<n
;i
++){for(j
=0;j
<n
;j
++){scanf("%d",&a
[i
][j
]);b
[i
][j
]=a
[i
][j
];}}while(m
--!=1){ for(p
=0;p
<n
;p
++){ for(j
=0;j
<n
;j
++){int pro
=0,sum
=0;for(q
=0,i
=0;q
<n
,i
<n
;q
++,i
++){pro
=b
[p
][q
]*a
[i
][j
];sum
=sum
+pro
;}c
[p
][j
]=sum
;}}for(u
=0;u
<n
;u
++){for(v
=0;v
<n
;v
++){b
[u
][v
]=c
[u
][v
];}}}for(s
=0;s
<n
;s
++){for(t
=0;t
<n
;t
++){printf("%d ",c
[s
][t
]);}printf("\n");}return 0;
}
总结
以上是生活随笔为你收集整理的矩阵乘法(TLE)的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。