我当高斯消元是什么神奇的算法啊,原来就是小学数学的解方程组……
高斯消元的核心思想就是消元……
对于第
i
个方程,把第
这样一直到第
n
行,显然这是的等式就是
附上AC代码:
#include <cstdio>
#include <cmath>
using namespace std;
const int N=110;
int n;
double a[N][N],ans[N],t;
int main(void){
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){
if (fabs(a[i][i])<=1e-8) return puts("No Solution"),0;
t=a[i][i];
for (int j=i; j<=n+1; ++j) a[i][j]/=t;
for (int j=i+1; j<=n; ++j){
t=a[j][i];
for (int k=i; k<=n+1; ++k) a[j][k]-=a[i][k]*t;
}
}
for (int i=n; i>=1; --i){
ans[i]=a[i][n+1];
for (int j=i+1; j<=n; ++j) ans[i]-=a[i][j]*ans[j];
}
for (int i=1; i<=n; ++i) printf("%.2f\n",ans[i]);
return 0;
}