非齐次方程组代码(C++)

/*
先输入未知数个数。
然后输入n*(n+1)的行列式。
*/
#include <stdio.h>
#include <stdlib.h>
int hanglieshi(int a[],int n)
{
    int j,s;
    if(n==1)  s=a[0];
    else
    {
        for(s=0,j=0; j<n; j++)
        {
            int yuzishi(int x,int b[],int y);
            if((j%2)==0)
            {
                s=s+a[j]*yuzishi(j,a,n);
            }
            else
            {
                s=s-a[j]*yuzishi(j,a,n);
            }
        }
    }
    return s;
}
int yuzishi(int x,int b[],int y)
{
    int m,l,k=(y-1)*(y-1),q,c[k];
    for(m=y,l=0; m<y*y; m++,l++)
    {
        if(m%y==x)   m++;
        c[l]=b[m];
    }
    q=hanglieshi(c,y-1);
    return q;
}
int main()
{
    int n,h;
    while(~scanf("%d",&n))
    {
        int x[n*n+n];
        for(h=0; h<n*n+n; h++)
        {
            scanf("%d",&x[h]);
        }
        int tmp[n*n],cur=0;
        do
        {
            for(int i=0;i<n;i++)
                for(int j=0;j<n;j++)
                    if(cur!=j)tmp[i*n+j]=x[i*(n+1)+j];
                    else tmp[i*n+j]=x[i*(n+1)+n];
            puts("");
            for(int i=0;i<n;i++)
                for(int j=0;j<n;j++)
                    printf("%d%c",tmp[i*n+j],j==n-1&&i!=n-1?'\n':' ');
            if(cur==n)printf(" ------D=%d\n",hanglieshi(tmp,n));
            else printf(" ------D%d=%d\n",cur+1,hanglieshi(tmp,n));
        }while(++cur<=n);
        printf("------over-------");
    }
    return 0;
}
/*
4
1 1 1 1 5
1 2 -1 4 -2
2 -3 -1 -5 -2
3 1 2 11 0
*/

时间: 2024-08-25 22:55:17

非齐次方程组代码(C++)的相关文章

编程算法 - 连续和最大的子数组 代码(C)

连续和最大的子数组 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 在一个数组中, 找出连续和最大的子序列. 使用两个变量, 一个变量存储当前值, 一个变量存储最大值, 并设一个临时数组, 用于更新最大和数组. 时间复杂度O(n). 代码: /* * main.cpp * * Created on: 2014.9.19 * Author: spike */ #include <iostream> #include <vector&g

PSR代码风格指南

代码风格指南 本手册是基础代码规范(PSR-1)的继承和扩展. 为了尽可能的提升阅读其他人代码时的效率,下面例举了一系列的通用规则,特别是有关于PHP代码风格的. 各个成员项目间的共性组成了这组代码规范.当开发者们在多个项目中合作时,本指南将会成为所有这些项目中共用的一组代码规范. 因此,本指南的益处不在于这些规则本身,而在于在所有项目中共用这些规则. RFC 2119中的必须(MUST),不可(MUST NOT),建议(SHOULD),不建议(SHOULD NOT),可以/可能(MAY)等关键

《代码整洁之道》之五 格式

格式是特别重要的,如果没有好的格式,我们前面的努力就会事倍功半.我们在格式上应该做到:当有人查看底层代码时,他们会被代码整洁.一致及所感知到对细节的关注而震惊. “让代码工作”固然重要,但是对于一个开发者来说格式的目的在于沟通,好的格式有利于开发者之间的沟通,而沟通是专业开发者的头等大事. 垂直格式 一般来讲,在垂直上我们希望自上向下展示函数调用依赖顺序.也就是说,被调用的函数应该放在执行调用的函数下面.这样就建立了一种自顶向下贯穿源代码模块的良好信息流.我们希望最重要的概念先出来,希望以包括最

SVN版本管理与代码上线架构方案

SVN是Subversion的简称,是一个开放源代码的版本控制系统,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器.你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改.这就是为什么许多人将 Subversion 和版本控制系统看作一种"时间机器".说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. svn与git的区别svn   svn版本控制系统是集中式的数据管理,

NOIP2005提高组 &amp;&amp; HLG 1219 谁拿了最多奖学金 (好经典的基础题 )

链接: http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1219 Description 某校的惯例是在每学期的期末考试之后发放奖学金.发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得: 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成

三.linux用户和组管理

用户和组相关文件,useradd 1.用户和组相关文件 (1) /etc/passwd 格式:name:passwd:UID:GID:GECOS:directory:shell   zhubiao:x:1000:1000:zhubiao:/home/zhubiao:/bin/bash    1 name : user's login name 2 passwd : x占位,实际存放于/etc/shadow 3 UID : user ID, 用户代码 User ID 的范围由/etc/login.

网页代码上线详解

第1章 代码上线 早期手动部署代码 纯手动scp上传代码. 纯手动登陆,Git pull 或者SVN update. 纯手动xftp上传代码. 开发发送压缩包,rz上传,解压部署代码. 缺点: 全程运维参与,占用大量时间. 如果节点多,上线速度慢. 人为失误多,目录管理混乱. 回滚不及时,或者难以回退. 1.1 小型公司代码上线案例 1.1.1 特点及问题 01.发布快.及时,可随时随地发布代码 02.开发发布的代码不经测试,导致无法访问(如死循环代码),对网站用户体验较差 1.1.2 架构方案

代码上线架构方案

小型企业上线架构方案 1.开发人员需在个人电脑搭建LAMP环境测试开发好的网站代码,并且在办公室或IDC机房的测试环境测试通过,最好有专职测试人员. 2.程序代码上线规定时间,由网站业务性质而定,原则就是影响用户体验最小. 3.代码上线之前需备份,网站程序出了问题方便回退,另外,从上线技巧上将,上传代码时尽可能先传到服务器网站临时目录,传完整后一步mv过去,或者通过ln做软连接. 线上更新代码的思路.如果严格更新,把应用服务器从集群节点平滑下线,然后更新. 4.尽量由运维人员管理上线,对于代码的

Devops微服务架构下具有代码级穿透能力的精准测试

微服务是Devops场景下热门的开发框架,在大型项目中被广泛采用.它把一个大型的单个应用程序和服务拆分为数十个的支持微服务,独立部署.互相隔离,通过扩展组件来处理功能瓶颈问题,比传统的应用程序更能有效利用计算资源.微服务之间无需关心对方的模型,它通过事先约定好的接口进行数据流转,使业务可以高效响应市场变化.但微服务一个明显的表象就是随着服务的增多,传统的测试模式受到很大制约,无法有效进行下去,威胁到整体系统质量.所有J2EE代码层白盒采集工具都无法区分覆盖和具体功能的对应关系,只能以后台模式"笼