蓝桥备赛指南(8):矩阵基础

矩阵的乘法

矩阵的乘法是《线性代数》中的基础内容。

乘法规则:(行数和列数)只有当相乘的两个矩阵的左矩阵的列数等于右矩阵的行数时,才能相乘。(详细详看《线性代数》

矩阵的乘法的规则用一句话来描述就是第一个矩阵A的第i行和第二个矩阵B的第j列的各m个元素对应相乘再相加就得到新矩阵C[i][j]的值。

如图:

 代码实现:

//代码实现
//n行k列
for (int i = 1; i <= n; ++i) {
	for (int j = 1; j <= k; ++j) {
		//再次枚举n行j列的所有元素
		for (int t = 1; t <= m)//A的这一行和B的这一列有m个元素
		{
			c[i][j] += a[i][t] * b[t][j];
		}
	}
}

整除

在计算机中,整数之间的除法往往时整除且向下取整的

如果要计算x/y向上取整,需要(x+y-1)/y或者(x-1)/y+1

同余

同余时数论中非常重要的概念,意思时两个或多个数字x,对于一个模数M的余数是相等的,或者说在模M的意义下它们是相等的

GCD(最大公约数

GCD是最大公约数,LCM是最小公倍数,大多数情况下,我们更关注GCD。

C++函数调用_gcd(a,b)和_lcm(a,b);

辗转相除法求GCD

代码:

int gcd(int a, int b) {
	return b == 0 ? a : gcd(b, a % b); 
}

 LCM求解方法

代码:

int lcm(int a, int b) {
	return a / gcd(a, b) * b;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值