0004 - Simultaneous Equation / AizuOnlineJudge

問題 : 連立方程式 | Aizu Online Judge

#include <cmath>
#include <cstdio>
#include <iostream>
using namespace std;

#define EPS 1e-10

void Solve(double a, double b, double c, double d, double e, double f)	{
	double xx=c*d-a*f, xy=b*d-a*e, yy=b*f-c*e, x=yy/xy, y=xx/xy;

	if (x>-EPS && x<EPS)	x=fabs(x);
	if (y>-EPS && y<EPS)	y=fabs(y);
	printf ("%.3f %.3f\n", x, y);
}

int main(void)	{
	double a, b, c, d, e, f;

	while (cin >> a >> b >> c >> d >> e >> f)
		Solve(a,b,c,d,e,f);
	return 0;
}

二元連立一次方程式で式を書き、
xだけの部分、yだけの部分、xyの部分を抽出。
そこから、各々の解を表示。
~了~