平面上の3点のデカルト座標が与えられると、それらすべてを通る円の方程式を見つけます。3つのポイントは直線上にありません。
プログラムへの入力の各行には、3つのポイントxとy座標が順番に含まれA(x),A(y),B(x),B(y),C(x),C(y)ます。これらの座標は、スペースで区切られた1,000,000未満の実数になります。
解はの方程式として印刷され(x-h)^2 + (y-k)^2 = r^2ます。値はh、k、r小数点以下3桁で印刷されることになります。方程式のプラス記号とマイナス記号は、数値の前に複数の記号が付かないように、必要に応じて変更する必要があります。
Sample Inputs
7.0 -5.0 -1.0 1.0 0.0 -6.0
1.0 7.0 8.0 6.0 7.0 -2.0
Sample Outputs
(x - 3.000)^2 + (y + 2.000)^2 = 5.000^2
(x - 3.921)^2 + (y - 2.447)^2 = 5.409^2
代わりに極方程式またはパラメトリック方程式を使用できますか?
—
ピーターオルソン
@peterいいえ。そうすれば、他の回答と比較するのが難しくなります。
—
fR0DDY
独自のソリューションがない場合、何を出力する必要がありますか?数値の堅牢性にはどのような制約がありますか?
—
ピーターテイラー
@ peter-taylor問題文には、「3つの点は直線上にない」と書かれています。
—
fR0DDY
確かに、それはほんの数文字ですので、これは私の解決策が少し短くなる可能性があるということではなく、正直な質問です...しかし、空白が出力仕様にある場合、それは必須ではないでしょうか?さもなければ、コードゴルフで、なぜ誰もが出力仕様を満たすのでしょうか?
—
レベッカチェルノフ