メイン 3jisiki.html Last modified: Sep 01, 2009
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;CHARSET=EUC-JP">
<link rel="shortcut icon" href="../favicon.ico">
<title>JavaScript</title>
<script src="io.js">document.write("io.js ファイルが見つかりません??<br>")</script>
<script language="JavaScript">
<!--
function cuberoot(x)
{
var res = Math.pow(Math.abs(x), 1.0/3.0)
return (x >= 0) ? res : -res
}
function calc(a0, b0, c0, d0)
{
var PI = 3.14159265358979323846264
var a, b, c, d, p, q, t, a3, b3
if ((a = parseFloat(a0)) == 0) {
printf("3次の項の係数がゼロです\n")
return
}
b = parseFloat(b0)
c = parseFloat(c0)
d = parseFloat(d0)
printf("%g x^3 %s %g x^2 %s %g x %s %g = 0\n", a, (b >= 0) ? "+" : "-", Math.abs(b), (c >= 0) ? "+" : "-", Math.abs(c), (d >= 0) ? "+" : "-", Math.abs(d))
b /= 3*a
c /= a
d /= a
p = b*b-c/3
q = (b*(c-2*b*b)-d)/2
if ((a = q*q-p*p*p) == 0) {
q = cuberoot(q)
printf("(重根)x = %g, %g\n", 2*q-b, -q-b)
}
else if (a > 0) {
a3 = cuberoot(q+((q > 0) ? 1 : -1)*Math.sqrt(a))
b3 = p/a3
printf("(実根)x = %g\n", a3+b3-b)
printf("(虚根)x = %g ± %g i\n", -0.5*(a3+b3)-b, Math.abs(a3-b3)*Math.sqrt(3.0)/2)
}
else {
a = 2*Math.sqrt(p)
t = Math.acos(q/(p*a/2))
printf("x = %g, %g, %g\n", a*Math.cos(t/3)-b, a*Math.cos((t+2*PI)/3)-b, a*Math.cos((t+4*PI)/3)-b)
}
}
//-->
</script>
</head>
<body bgcolor="#ffffff">
<font size="+2"><b>三次方程式の解(カルダーノ法)</b></font> <a href="src/3jisiki.html"><img src="png/src.png" width=35 height=11 alt="src" align=top></a> Last modified: Jun 01, 2006<hr noshade><p>
<font color="#ff0000" size="+2">以下のプログラムのサポートは終了しました。自己責任でお使い下さい。</font>
<form name=Result>
<script language="JavaScript">
<!--
//-->JavaScript がサポートされていないブラウザですか?
</script>
<input type="button" name="calcurate" value="計算開始" onClick="calc(this.form.data3.value,this.form.data2.value,this.form.data1.value,this.form.data0.value)">
<input type="button" name="clear" value="入力欄クリア" onClick="this.form.data3.value=this.form.data2.value=this.form.data1.value=this.form.data0.value=''">
<input type="button" name="clear" value="出力欄クリア" onClick="this.form.result.value=''"><p>
3次の係数<input name="data3" value=1 size=5>
2次の係数<input name="data2" value=1 size=5>
1次の係数<input name="data1" value=1 size=5>
定数項<input name="data0" value=1 size=5><p>
出力欄<br><textarea name="result" ROWS=20 COLS=80></textarea>
</form>
<p><hr noshade>
<img src="../gra/button3.png" width=9 height=9 alt="・"> <A HREF="javascript:history.go(-1)">直前のページへ戻る</A> <img src="../gra/button3.png" width=9 height=9 alt="・"> <a href="../mail.html">E-mail to Shigenobu AOKI</a>
<p><center><IMG SRC="../gra/ume5.png" width=121 height=37 ALT="Made with Macintosh"></center>
</body>
</html>
サブ io.js Last modified: Mar 25, 2004
直前のページへ戻る E-mail to Shigenobu AOKI