メイン 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

Made with Macintosh