[zz]数论小白都能看懂的线性方程组及其解法

https://www.luogu.com.cn/blog/ShineEternal/linear-equation-group

#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
double a[105][105];
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n+1;j++)
        {
            scanf("%lf",&a[i][j]);
        }
    }
    for(int i=1;i<=n;i++)//枚举列(项)
    {
        int m=i;
        for(int j=i+1;j<=n;j++)//选出该列最大系数
        {
            if(fabs(a[j][i])>fabs(a[m][i]))//fabs是取浮点数的绝对值的函数
            {
                m=j;
            }
        }
        for(int j=1;j<=n+1;j++)//交换
        {
            swap(a[i][j],a[m][j]);
        }
        if(a[i][i]==0)//最大值等于0则说明该列都为0,肯定无解
        {
            printf("No Solution\n");
            return 0;
        }
        for(int j=1;j<=n;j++)//每一项都减去一个数
        {
            if(j!=i)//不是主元那一项
            {
                double d=a[j][i]/a[i][i];
                for(int k=i+1;k<=n+1;k++)
                {
                    a[j][k]-=a[i][k]*d;
                }
            }
        }
    }
    for(int i=1;i<=n;i++)//最后的结果系数可能不为1,所以记得消去常数
    {
        printf("%.2lf\n",a[i][n+1]/a[i][i]);
    }
    return 0;
}

原文地址:https://www.cnblogs.com/cutemush/p/12276029.html

时间: 2024-12-16 11:48:46

[zz]数论小白都能看懂的线性方程组及其解法的相关文章

Unity发布Android新手教学 (小白都能看懂的教学 )

原文地址:http://blog.csdn.net/aries_h/article/details/51673338 最近在Unity的有些交流群里,发现好多Unity开发的爱好者们都遇到了这个问题. 而且都说在网上看到好多教程弄了好几天都弄不出来,每个人都解释一遍有觉得比较繁琐. 索性我就写一个博客永久保存.希望大家会喜欢. 本文纯属个人经验之谈,如有不足,欢迎指出. 下面进入正题 如果想要让Unity可以打包Apk,你需要先下载一个JDK7以上(包括7)的版本. 并且必须是64位. 安装时请

Unity 打包发布Android新手教学 (小白都能看懂的教学 ) [转]

版权声明:本文为Aries原创文章,转载请标明出处.如有不足之处欢迎提出意见或建议,联系QQ531193915 扫码关注微信公众号,获取最新资源 最近在Unity的有些交流群里,发现好多Unity开发的爱好者们都遇到了这个问题. 而且都说在网上看到好多教程弄了好几天都弄不出来,每个人都解释一遍有觉得比较繁琐. 索性我就写一个博客永久保存.希望大家会喜欢. 本文纯属个人经验之谈,如有不足,欢迎指出. 下面进入正题 如果想要让Unity可以打包Apk,你需要先下载一个JDK7以上(包括7)的版本.

小白都能看懂的block

首先说明一下,我自己也是一个小白:这是我对block的一点认识或总结,有不对的地方,希望大家指出来 block就是一个代码块,用来执行一小段程序的, 通常我们定义一个block 可以用它的基本模型,返回值类型(^变量的名字)参数类型 例如: int (^myBlock)(int ); 这就是定义了一个block 这个变量的名字为myBlock 就像是 int i:(类比有利于理解) 当我们定义完block之后,我们应该实体化它,.就像是我们定义完int i: 我们要给int i 赋值, (其实实

gitbook 入门教程之小白都能看懂的 Gitbook 插件开发全流程

什么是插件 Gitbook 插件是扩展 GitBook 功能(电子书和网站)的最佳方式. 只要是 Gitbook 默认没有提供的功能,基于插件机制都可以自行扩展,是插件让 Gitbook 变得更加强大. 本文将全面介绍插件的相关知识并重点介绍插件开发的全流程,只有熟悉插件开发流程才能做到有的放矢,心中有数,进而开发出自己的插件. 关于插件请参考 Gitbook 入门教程高级进阶系列文章,本文重点讲解开发 Gitbook 的基本流程. gitbook 入门教程之插件介绍 gitbook 入门教程之

磁盘分区就是这么简单,电脑小白都能看懂的磁盘分区教程!

原文链接: https://xiaoheidiannao.com/articles/Disk-Partition.html 对于新安装的系统,可能只有C盘,如果软件安装和文件存放都在C盘进行的话就会很乱,找文件也比较麻烦. 作为电脑用户养成电脑使用的好习惯是很有必要的,对磁盘进行分区就是个好习惯.简单来说,磁盘分区就是将一个盘符拆分为多个盘符.而盘符一般都用字母表示且不能重复,例如我们经常说的C盘,还有D盘,E盘等等.当然还可以给这些盘符起个名字(卷标),例如C盘卷标为系统盘等等. 一般来说,推

小白都能看懂的Linux系统下安装配置Zabbix

实验环境: 操作系统:Centos 7.6 服务器ip:192.168.10.100 运行用户:root 网络环境:Internet Zabbix是一个基于web界面的提供分布式系统监控及网络功能的企业级的开源监控工具,做为一个企业运维人员来说,zabbix可以给企业和运维人员带来很大的帮助,zabbix是一个功能非常强大.跨平台.开源的企业级运维管理系统,由2部分构成:zabbix服务端和客户端(agentd),也可以通过系统自带的SNMP来采集数据. Zabbix可以部署在Windows.L

小白也能看懂的插件化DroidPlugin原理(二)-- 反射机制和Hook入门

前言:在上一篇博文<小白也能看懂的插件化DroidPlugin原理(一)-- 动态代理>中详细介绍了 DroidPlugin 原理中涉及到的动态代理模式,看完上篇博文后你就会发现原来动态代理真的非常简单,只不过就是实现一个 InvocationHandler 接口重写一下 invoke 方法而已.不错,其实很多看似 high level 的技术都并没有想象中的那么晦涩难懂,只要你肯下定决心去了解它,去认识它,去学习它你就会发现,原来都是可以学得懂的.本篇博文将介绍 DroidPlugin 框架

约瑟夫问题 算法很简单保证每隔人都能看懂用数组实现 利用循环删除数组中的元素

#include<iostream> using namespace std; const int size = 1000; void ArrDel() { int arr[size]; //循环结束标志,一直循环到数组中只剩下最后一个元素结束 int currentNum = size; int count = 0; for (int k = 0; k < size; k++) { arr[k] = k; } //currentNum==1表示数组中只剩下最后一个元素 是循环结束的标志

任何人都能看懂的TensorFlow介绍

本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载 原文链接:任何人都能看懂的TensorFlow介绍 深度 | 机器学习敲门砖:任何人都能看懂的TensorFlow介绍 2016-08-21 机器之心 选自 kdnuggets 作者:Soon Hin Khor 机器之心编译 参与:Rick.吴攀.李亚洲 本文是日本东京 TensorFlow 聚会联合组织者 Hin Khor 所写的 TensorFlow 系列介绍文章的前两部分,自称给出了关于 TensorFlo