题目

输入一个包含n个方程n个未知数的线性方程组。

方程组中的系数为实数。

求解这个方程组。

下图为一个包含m个方程n个未知数的线性方程组示例:

输入格式

第一行包含整数n。

接下来n行,每行包含n+1个实数,表示一个方程的n个系数以及等号右侧的常数。

输出格式

如果给定线性方程组存在唯一解,则输出共n行,其中第i行输出第i个未知数的解,结果保留两位小数。

如果给定线性方程组存在无数解,则输出“Infinite group solutions”。

如果给定线性方程组无解,则输出“No solution”。

数据范围

1≤n≤100
所有输入系数以及常数均保留两位小数,绝对值均不超过100。

输入样例:

3
1.00 2.00 -1.00 -6.00
2.00 1.00 -3.00 -9.00
-1.00 -1.00 2.00 7.00

输出样例:

1.00
-2.00
3.00

代码

zero = float(1e-6)def gauss():global n, zeror = 0for c in range(n):t = r# 首先找到当前这一列上最大绝对值的数所在的列for i in range(r, n):if abs(a[i][c]) > abs(a[t][c]): t = iif abs(a[t][c]) < zero: continue # 如果列都是0则跳到下一列# 将它移到第r行a[r], a[t] = a[t], a[r]# 将第r行归一化for i in range(n, c-1, -1): a[r][i] /= a[r][c]# 将第r行与其他的行进行相减,使得该列都为0for i in range(r+1, n):if abs(a[i][c]) > zero:for j in range(n, c-1, -1):a[i][j] -= a[r][j] * a[i][c]r += 1 # 行++# 如果存在后面的行都为0if r < n:for i in range(r, n):if abs(a[i][n]) > zero: return 2 # 无解return 1 # 无线解# 计算解for i in range(n-1, -1, -1): # 当前行for j in range(i): # 当前行上面的所有行a[j][n] -= a[j][i] * a[i][n]return 0n = int(input())
a = []
for _ in range(n):a.append(list(map(float, input().split())))t = gauss()
if t == 0 :for i in range(n):print('%.2f' % a[i][n])
elif t == 1: print('Infinite group solutions')
else: print("No solution")

算法题 高斯消元解线性方程组(Python)相关推荐

  1. [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题

    [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算 ...

  2. 高斯消元 AcWing 883. 高斯消元解线性方程组

    高斯消元 AcWing 883. 高斯消元解线性方程组 原题链接 AcWing 883. 高斯消元解线性方程组 算法标签 线性代数 高斯消元 思路 代码 #include<bits/stdc++ ...

  3. 第三十四章 数论——高斯消元解线性方程组

    第三十四章 数论--高斯消元解线性方程组 一.高斯消元 1.线性方程组 2.高斯消元步骤 (1)数学知识铺垫 增广矩阵和阶梯矩阵 初等变换 (2)高斯消元步骤 二.代码模板 1.问题: 2.代码 一. ...

  4. 高斯消元——解线性方程组+球形空间产生器+开关问题

    传送门:https://www.acwing.com/activity/content/11/ 思路: 把原矩阵变成阶梯型矩阵解题步骤: 1.找到绝对值最大的一行. 2.将该行和最上面未处理好的一行交 ...

  5. AcWing 883. 高斯消元解线性方程组(高斯消元模板)

    先出裸的模板: #include<bits/stdc++.h>using namespace std; const int N = 110; typedef double db; db a ...

  6. AcWing 883. 高斯消元解线性方程组 (高斯消元)

    题目链接 : 点击查看 题目描述 : 输入一个包含 n 个方程 n 个未知数的线性方程组. 方程组中的系数为实数. 求解这个方程组. 下图为一个包含 m 个方程 n 个未知数的线性方程组示例: 输入输 ...

  7. 高斯消元解线性方程组(浮点高斯消元模板)

    题目连接 https://www.acwing.com/problem/content/885/ 思路 高斯消元的思路如下: 1.我们从上到下,从左到右开始消元,对于每一行我们只保留当前[i,i]行的 ...

  8. AcWing - 高斯消元解线性方程组(高斯消元)

    题目链接:https://www.acwing.com/problem/content/885/ 时/空限制:1s / 64MB 题目描述 输入一个包含n个方程n个未知数的线性方程组. 方程组中的系数 ...

  9. 【BZOJ1923】外星千足虫,高斯消元解xor方程组

    Time:2016.08.29 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 原本以为是高斯消元解取模方程,后来发现这题意不就和异或方程一样吗 [异或(XOR)运算由于与" ...

  10. HDU 4305 Lightning (高斯消元解kirchhoff矩阵+逆元)

    题意是:给一些坐标点,如果两点之间的距离小于R,并且两点之间没有其他点,则这两个点保持连通,这样构成了一个图.问这个图中生成树的个数. 因为数据量并不大,O(N^3)的建图没有问题. 建好图以后就可以 ...

最新文章

  1. 如何用python实现自动化办公_python自动化办公操作PPT的实现
  2. 全排列(含递归和非递归的解法)
  3. cuDNN error: CUDNN_STATUS_EXECUTION_FAILED
  4. 欧几里德算法求最大公约数
  5. Spring Boot2 集成 jasypt 3.0.4 配置文件敏感信息加密
  6. 华为手机怎么看图片属性_华为手机怎么才能息屏显示时间?操作方法很简单,看完涨知识了...
  7. 分布式SOA基础架构崭露头角
  8. 怎么看笔记本电脑的配置参数_电脑参数怎么看?教你看懂电脑各种配置
  9. redis 命令行 操作
  10. 蓝桥杯2016年第七届C/C++省赛B组第九题-交换瓶子
  11. kong自定义插件(修改官方插件)
  12. 如何清理驱动人生的新闻弹窗
  13. imagesc和pcolor区别
  14. 【React自制全家桶】九、Redux入手
  15. 用了亿恩的空间,总有上当的感觉
  16. CentOS安装Docker CE
  17. 超微服务器性能,读取性能强劲 超微2U机架F228服务器评测
  18. 解决Antimalware Service Executable(windows defender)占用过高CPU和内存的方法
  19. mysql索引与md5_谈Mysql索引
  20. 安装包UI美化之路-nsNiuniuSkin界面在线设计引擎

热门文章

  1. 装完金蝶电脑无限重启_电脑一直自动重启的原因与解决方法
  2. 怎么查询显卡hdmi接口版本_HDMI接口基础知识大扫盲
  3. python简单小游戏代码教程-python简单小游戏代码 怎么用Python制作简单小游戏
  4. 3次根号计算机在线应用,根号计算器,三次根号计算器
  5. es 安装拼音分词器 以及使用
  6. Vue - 选择器拼音快速检索目标(pinyin-match)
  7. 如何批量导入文件夹,批量重命名
  8. 【STC15系列】STC15软串口输出打印示例程序
  9. python写Bicubic方法,跑数据集Set5和Set14,保存PSNR和SSIM的值
  10. torchdiffeq中odeint函数的输入输出参数分析