//
#include<bits/stdc++.h>
using namespace std;
const double EPS=1e-7;
const int N=111;
double in[N][N];
int main()
{
int i,j,k,n,maxa;
double tt;
while( cin>>n )
{
memset( in,0,sizeof( in ) ); // init
for( i=1;i<=n;i++ )
for( j=1;j<=n+1;j++ )
cin>>in[i][j];
for( i=1;i<=n;i++ )
{
maxa=i;
for( j=i+1;j<=n;j++ )
if( fabs( in[j][i] ) > fabs( in[maxa][i] ) ) maxa=j;
for( j=1;j<=n+1;j++ )
swap( in[maxa][j],in[i][j] );
if( fabs( in[i][i] )<EPS ) { cout<<"No Solution"<<endl; goto out; }
for( j=n+1;j;j-- ) in[i][j]/=in[i][i]; // in[i][j]
for( j=1;j<=n;j++ )
if( j!=i )
{
tt=in[j][i]/in[i][i];
for( k=1;k<=n+1;k++ ) in[j][k]-=in[i][k]*tt;
}
}
for( i=1;i<=n;i++ ) printf("%.2lf\n",in[i][n+1] );
out:;
}
return 0;
}
洛谷_P3389 【模板】高斯消元法_高斯消元
猜你喜欢
转载自blog.csdn.net/qq_63173957/article/details/125339118
今日推荐
周排行