1.矩阵加法—题目描述
输入两个 n行 m 列的矩阵 A 和 B,输出它们的和 A+B,矩阵加法的规则是两个矩阵中对应位置的值进行加和,具体参照样例。
输入格式
第一行包含两个整数 n 和 m,表示矩阵的行数和列数。
接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。
接下来 n 行,每行 m 个整数,表示矩阵 B 的元素。
相邻两个整数之间用单个空格隔开。
输出格式
n 行,每行 m 个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。
输入输出样例
输入 #1
3 3 1 2 3 1 2 3 1 2 3 1 2 3 4 5 6 7 8 9
输出 #1
2 4 6 5 7 9 8 10 12
n,m=map(int,input().split())
a=[[0 for _ in range(m)]for _ in range(n)]
b=[[0 for _ in range(m)]for _ in range(n)]
c=[[0 for _ in range(m)]for _ in range(n)]
for i in range(n):x=input().split()for j in range(m):a[i][j]=int(x[j])
for i in range(n):x=input().split()for j in range(m):b[i][j]=int(x[j])
for i in range(n):for j in range(m):c[i][j]=a[i][j]+b[i][j]print(c[i][j],end=' ')print()
- 此题较为简单,输入的两个矩阵的每个元素相加赋值给新矩阵。
- 输出新矩阵即可。
2.矩阵乘法—题目描述
计算两个矩阵的乘法。n×m 阶的矩阵 A乘以 m×k阶的矩阵 B 得到的矩阵 C是 n×k阶的,且 C[i][j]=A[i][0]×B[0][j]+A[i][1]×B[1][j]+ …… +A[i][m−1]×B[m−1][j](C[i][j] 表示 C矩阵中第 i 行第 j 列元素)。
输入格式
第一行为 n,m,k,表示 A矩阵是 n 行 m 列,B矩阵是 m 行 k 列。
然后先后输入 A 和 B两个矩阵,A矩阵 n行 m列,B矩阵 m行 k 列。
输出格式
输出矩阵 C,一共 n 行,每行 k 个整数,整数之间以一个空格分开。
输入输出样例
输入 #1
3 2 3 1 1 1 1 1 1 1 1 1 1 1 1
输出 #1
2 2 2 2 2 2 2 2 2
n,m,k=map(int,input().split())
a=[[0 for _ in range(m)]for _ in range(n)]
b=[[0 for _ in range(k)]for _ in range(m)]
c=[[0 for _ in range(k)]for _ in range(n)]
for i in range(n):x=input().split()for j in range(m):a[i][j]=int(x[j])
for i in range(m):x=input().split()for j in range(k):b[i][j]=int(x[j])
for i in range(n):for j in range(k):c[i][j]=0for h in range(m):c[i][j]=c[i][j]+a[i][h]*b[h][j]
for i in range(n):for j in range(k):print(c[i][j], end=' ')print()
解析:
- 根据题分别定义三个矩阵。
- 输入矩阵A、B。
- for h in range(m):c[i][j]=c[i][j]+a[i][h]*b[h][j],根据要求求出矩阵c的每个值。
- 输出矩阵c即可。
3.矩阵转置—题目描述
输入一个 n行 m 列的矩阵 A,输出它的转置 。
输入格式
第一行包含两个整数 n 和 m,表示矩阵 A 的行数和列数。
接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。相邻两个整数之间用单个空格隔开。
输出格式
m 行,每行 n个整数,为矩阵 A 的转置。相邻两个整数之间用单个空格隔开。
输入输出样例
输入 #1
3 3 1 2 3 4 5 6 7 8 9
输出 #1
1 4 7 2 5 8 3 6 9
n,m=map(int,input().split())
a=[[0 for _ in range(m)] for _ in range(n)]
for i in range(n):x=input().split()for j in range(m):a[i][j]=int(x[j])
for i in range(m):for j in range(n):print(a[j][i],end=' ')print()
- 矩阵转置,只需将矩阵的行和列互换输出即可。
今天有没有很充实?!