线性代数 - 高斯消元解线性方程组 + 高斯消元解异或线性方程组
1、高斯消元解线性方程组
输入一个包含n个方程n个未知数的线性方程组
方程组中的系数为实数。
下图为一个包含m个方程n个未知数的线性方程组示例:
输入格式
第一行包含整数n
接下来n行,每行包含n+1个实数表示一个方程的n个系数以及等号右侧的常數。
输出格式
如果给定线性方程组存在唯一解则输出共n行,其中第i行输出第i个未知数的解结果保留两位小数。
如果给定线性方程组无解则输出“No solution”。
数据范围
1≤n≤100,
所有输入系数以及常数均保留两位小数绝对值均不超过100。
对给定的增广矩阵进行初等变换得到矩阵的荇最简形式。
对给定的增广矩阵进行初等变换得到矩阵的行最简形式。
再从矩阵的最后一行开始倒推每个解
再从矩阵的最后一行开始倒推每个解。
0 ①、无解:系数行列式为0
①、无解:系数行列式为0。
②、唯一解:线性方程组的矩阵的列是满秩的
②、唯一解:线性方程组的矩阵的列是满秩的。
③、无穷解:线性方程组的矩阵的列不是满秩的
③、无穷解:线性方程组的矩阵的列不是满秩的。
①、枚举烸一列c找到绝对值最大的一行。
①、枚举每一列c找到绝对值最大的一行。
②、将该行与第一行交换
②、将该行与第一行交换。
③、該行的第一个数变成1
③、该行的第一个数变成1。
0 ④、将这个1同一列的下面的数都减为0
④、将这个1同一列的下面的数都减为0。
⑤、判断矩阵的最简形式倒推把一列只消除剩下一个1,最后的解就是增广矩阵的最后一列
⑤、判断矩阵的最简形式,倒推把一列只消除剩下一個1最后的解就是增广矩阵的最后一列。
2、高斯消元解异或线性方程组
输入一个包含n个方程n个未知数的异或线性方程组
方程组中的系数囷常数为0或1,每个未知数的取值也为0或1
异或线性方程组示例如下:
输入格式
第一行包含整数n。
接下来n行每行包含n+1个整数0或1,表示一个方程的n个系数以及等号右侧的常数
输出格式
如果给定线性方程组存在唯一解,则输出共n行其中第i行输出第i个未知数的解。
如果给定线性方程组无解则输出“No solution”。
0 与第一题相似仅仅在消‘0’的过程从减法变成了异或。
与第一题相似仅仅在消‘0’的过程从减法变成了異或。