本記事では解の公式を使い二次方程式の解を求めるプログラムについて紹介しています。
JavaScriptを使っています。
2次方程式 : \[ ax^2 + bx + c = 0 \]
\[(a \neq 0) \]
の解は
\[ x = \frac{-b \pm \sqrt{b^2 – 4ac}} {2a} \]
で与えられます。
中学・高校で習った数学の中でも一番有名な公式。
そんな馴染み深いものを使い、今回はプログラミングで2次方程式の解を求めていきます。
2次方程式の解を求めるプログラム
DEMO
まずこちらが完成品。
a,b,c の数字を打ち込み、計算ボタンをクリックすることで、与えられた2次方程式の解を求めます。
a の値が0だったら、 a,b,c に数字が打ち込まれていなかったらアラートメッセージがでます。
二次方程式の判別式について。
判別式 D を
\[ D = b^2 – 4ac\]
とし、2次方程式は
- D > 0 のとき異なる実数解を二つ持つ
- D = 0 のとき一つの解を持つ(重解)
- D < 0 のとき互いに共役な二つの複素数解を持つ
ということになります。
HTML ファイルの作成
まず以下のような html ファイルを作成します。
数式を綺麗に表示させるため Latex で表記をしています。
LaTeX表記が使えるMathJaxを利用しています。
<script>タグの src にこちらを書くことで使用できます。
CSS ファイルも下記のように書きます。
JavaSript ファイルの作成
JavaScript ファイルはこんな感じです。
reset() で解の値を空欄にし、リセッしをしています。
計算ボタンがクリックされたら、Dの値を求め、判別式の符号により解の情報を求めています。

以上、2次方程式の解を求めるプログラムについてでした。
- GitHubのコード
参考資料
- 高校数学の美しい物語 / 二次方程式の判別式についての知識まとめ

【JavaScript】モンテカルロ法で円周率を求める
モンテカルロ法で円周率を求めるプログラムをJavaScript で実装。乱数というランダムな数を使い、円周率の近似値を求めています。
コメント