test2


function gcd(gcd1, gcd2) {
// 剰余
var gcdsub;

if(gcd1 < gcd2) { // gcd1 >= gcd2にする
gcdsub = gcd1; //一時退避
gcd1 = gcd2;
gcd2 = gcdsub;
}

while *1
n = n/g
d = d/g
}
numerator[i] = n
denominator[i] = d

}

 

n = 0
d = 1
i = 1
for(;i <= m;i++){

subn = n*denominator[i]-Math.pow(-1,i)*d*numerator[i]
subd = d*denominator[i]
if(subn == 0){

n = 0
d = 1

} else {
g = gcd(Math.abs(subn),Math.abs(subd))
n = subn/g
d = subd/g
}

}

numerator.shift()
denominator.shift()

numerator.unshift(n)
denominator.unshift(d)


numerator.unshift(0)
denominator.unshift(1)

 

window.alert(numerator + "\n" + denominator)
t = window.prompt("繰り返しますか? 1でstop", "")

}

n = ""
d = ""
i = ""
g = ""
m = ""
t = ""
numerator = ""
denominator = ""

}
</script>
</head>
<body>
<p><input type="button" value="一次方程式" onClick="itizi()"></p>
<p><input type="button" value="二次方程式" onClick="nizi()"></p>
<p><input type="button" value="和と積" onClick="watoseki()"></p>
<p><input type="button" value="自然数の和" onClick="itizyou()"></p>
<p><input type="button" value="自然数の2乗の和" onClick="nizyou()"></p>
<p><input type="button" value="自然数の3乗の和" onClick="sanzyou()"></p>
<p><input type="button" value="比例式" onClick="hireisiki()"></p>
<p><input type="button" value="二元連立方程式(クラメルの公式)" onClick="nigenrenritu()"></p>
<p><input type="button" value="最大公約数" onClick="kouyakusuu()"></p>
<p><input type="button" value="最小公倍数" onClick="koubaisuu()"></p>
<p><input type="button" value="三平方の定理" onClick="sanheihou()"></p>
<p><input type="button" value="三角形の面積(へロンの公式)" onClick="heron()"></p>
<p><input type="button" value="複素数の加法" onClick="hukusosuunowa()"></p>
<p><input type="button" value="複素数の減法" onClick="hukusosuunosa()"></p>
<p><input type="button" value="複素数の乗法" onClick="hukusosuunoseki()"></p>
<p><input type="button" value="複素数の除法" onClick="hukusosuunosyou()"></p>
<p><input type="button" value="複素数の冪乗" onClick="hukusosuunosisuu()"></p>
<p><input type="button" value="階乗" onClick="kaizyou()"></p>
<p><input type="button" value="約分" onClick="yakubun()"></p>
<p><input type="button" value="数式処理" onClick="suusiki()"></p>
<p><input type="button" value="大小関係" onClick="daisyou()"></p>
<p><input type="button" value="xor演算" onClick="burakkubokkusu()"></p>
<p><input type="button" value="sin(θ)" onClick="sain()"></p>
<p><input type="button" value="cos(θ)" onClick="cosain()"></p>
<p><input type="button" value="tan(θ)" onClick="tanzyento()"></p>
<p><input type="button" value="arcsin(θ)" onClick="aksain()"></p>
<p><input type="button" value="arccos(θ)" onClick="akcosain()"></p>
<p><input type="button" value="arctan(θ)" onClick="aktan()"></p>
<p><input type="button" value="agr(x+yi)" onClick="agr()"></p>
<p><input type="button" value="e^x" onClick="sisuukannsuu()"></p>
<p><input type="button" value="sgi(x)" onClick="sigunaru()"></p>
<p><input type="button" value="e^(iθ)" onClick="oira()"></p>
<p><input type="button" value="1-{(1-x/y)^z}" onClick="kakuritu()"></p>
<p><input type="button" value="乱数" onClick="ransuu()"></p>
<p><input type="button" value="log(x,y)" onClick="rogu()"></p>
<p><input type="button" value="Log(x+yi)" onClick="logu()"></p>
<p><input type="button" value="四角形の面積(ブレートシュナイダーの公式)" onClick="bureitosyunaida()"></p>
<p><input type="button" value="正三角形の面積" onClick="seisankanukei()"></p>
<p><input type="button" value="三角形の面積(二辺の長さと間の角)" onClick="nihensonokaku()"></p>
<p><input type="button" value="1-(1-y)^(1/x)" onClick="ritunogoukei()"></p>
<p><input type="button" value="循環小数" onClick="zyunnkannsyousuu()"></p>
<p><input type="button" value="log(1-x)/log(1-y)" onClick="ritunannkai()"></p>
<p><input type="button" value="代入" onClick="dainyuu()"></p>
<p><input type="button" value="微分" onClick="bibunn()"></p>
<p><input type="button" value="一次方程式 (改)" onClick="itizikai()"></p>
<p><input type="button" value="極限" onClick="kyokugenn()"></p>
<p><input type="button" value="等差型漸化式" onClick="tousazenkasiki()"></p>
<p><input type="button" value="等比型漸化式" onClick="touhizenkasiki()"></p>
<p><input type="button" value="特性方程式" onClick="tokuseizenkasiki()"></p>
<p><input type="button" value="ニュートン法(導関数)" onClick="myuutonhou()"></p>
<p><input type="button" value="ニュートン法(三点近似)" onClick="santennmyuuton()"></p>
<p><input type="button" value="ニュートン法(五点近似)" onClick="gotennmyuuton()"></p>
<p><input type="button" value="積分(区分求積法)" onClick="sekibunn()"></p>
<p><input type="button" value="nPr" onClick="pii()"></p>
<p><input type="button" value="nCr" onClick="cii()"></p>
<p><input type="button" value="Σ(f(x))" onClick="siguma()"></p>
<p><input type="button" value="Π(f(x))" onClick="pai()"></p>
<p><input type="button" value="二次方程式の三点" onClick="nizihoutesikinosanten()"></p>
<p><input type="button" value="三元連立方程式" onClick="sangenrenritu()"></p>
<p><input type="button" value="四元連立方程式" onClick="yongenrenritu()"></p>
<p><input type="button" value="数値処理" onClick="heikinn()"></p>
<p><input type="button" value="二回微分" onClick="nikaibibun()"></p>
<p><input type="button" value="素因数分解" onClick="soinnsuubunnkai()"></p>
<p><input type="button" value="約数関数" onClick="yakusuukannsuu()"></p>
<p><input type="button" value="W(x)(ランベルトのW関数)" onClick="ranberuto()"></p>
<p><input type="button" value="最小二乗法" onClick="saisyouzizyouhou()"></p>
<p><input type="button" value="時間の足し算" onClick="zikantasizan()"></p>
<p><input type="button" value="時間の引き算" onClick="zikanhukizan()"></p>
<p><input type="button" value="時間の掛け算" onClick="zikankakezan()"></p>
<p><input type="button" value="時間の割り算" onClick="zikanwarizan()"></p>
<p><input type="button" value="素数定理" onClick="sosuuteiri()"></p>
<p><input type="button" value="二点間の距離の公式" onClick="nitenkannokyori()"></p>
<p><input type="button" value="直線(or平面)と点の距離の公式" onClick="tyokusentotennokyori()"></p>
<p><input type="button" value="ベクトルの内積,なす角,cos(θ)" onClick="bekutorunonaiseki()"></p>
<p><input type="button" value="三角形の面積(一辺の長さと両端の角)" onClick="sankakukeinokakudo()"></p>
<p><input type="button" value="フィボナッチ数" onClick="fibontti()"></p>
<p><input type="button" value="三角形の3辺からの情報" onClick="sannkakukeinohen()"></p>
<p><input type="button" value="ルジャンドルの定理" onClick="ruzyandoru()"></p>
<p><input type="button" value="p乗根の和" onClick="pzyoukonn()"></p>
<p><input type="button" value="p乗の和" onClick="pzyounowa()"></p>
<p><input type="button" value="nのp乗" onClick="nnopzyou()"></p>
<p><input type="button" value="Faulhaber" onClick="Faulhaber()"></p>
</body>
</html>

*1:gcdsub = gcd1 % gcd2) != 0) {
gcd1 = gcd2;
gcd2 = gcdsub;
}

return gcd2;
}
function Faulhaber(){
numerator = window.prompt("分子の配列を入力してください\nex)1/2*n^2+1/2*n → [0,1,1]と[1,2,2](昇べきの順)", "")
denominator = window.prompt("分母の配列を入力してください", "")
numerator = eval(numerator)
denominator = eval(denominator)
t = 0
for(;t == 0;){

m = numerator.length-1
i = 1
for(;i <= m;i++){
n = numerator[i]*m
d = denominator[i]*(i*1+1)
if(n == 0){
n = 0
d = 1
} else {
g = gcd(Math.abs(n),Math.abs(d

test

<!DOCTYPE html>
<html>
<script>
gosa = 0
var MathW
function itizi(){
a = window.prompt("左辺の一次の項を入力してください", "");
b = window.prompt("左辺の0次の項を入力してください" + "\n" + a + "x", "");
c = window.prompt("右辺の一次の項を入力してください" + "\n" + a + "x + " + b, "");
d = window.prompt("右辺の0次の項を入力してください" + "\n" + a + "x + " + b + " = " + c + "x", "");
x = (d-b)/(a-c)
e = d-b
f = a-c
if (f < 0){
e = (-1) * e
f = (-1) * f
}
e = e + "/" + f
g = a*x
g = g*1+b*1
h = c*x
h = h*1+d*1
window.alert(a + "x + " + b + " = " + c + "x + " + d + "\n" +"x=" + x + " (" + e + ")" + "\n" + g + " = " + h)
a = "";
b = "";
c = "";
d = "";
e = "";
f = "";
g = "";
h = "";
x = "";
}
function nizi(){
a = window.prompt("二次の項を入力してください", "");
d = window.prompt("一次の項を入力してください" + "\n" + a + "x²", "");
b = d
c = window.prompt("0次の項を入力してください" + "\n" + a + "x² + " + d + "x", "")
e = b*b-4*a*c
m = (-1)*b/(2*a)
l = (-1)*(b*b-4*a*c)/(4*a)
if (e >= 0){
f = 1
} else {
f = (-1)
}
e = Math.abs(e)
j = 2*a
e = e + "/" + j
g = b + "/" + j
if (f == 1){
h = g + "+√" + e
i = g + "-√" + e
} else {
h = g + "+√" + e + "i"
i = g + "-√" + e + "i"
}
if (b*b-4*a*c >= 0) {
x = (b*1+(Math.sqrt(b*b-4*a*c)))/(2*a);
y = (b-(Math.sqrt(b*b-4*a*c)))/(2*a);
window.alert(a + "x²+" + d + "x+" + c + " = 0" + "\n" + "x₁=" + x + " (" + h + ")" + "\n" + "x₂=" + y + " (" + i + ")" + "\n最大値,最小値(" + m + "," + l + ")");
}
if (b*b-4*a*c < 0) {
x = b/(2*a)
s = (Math.sqrt(Math.abs(b*b-4*a*c)))/(2*a);
s = "+" + s + "i";
s = x + s
z = b/(2*a)
k = (Math.sqrt(Math.abs(b*b-4*a*c)))/(2*a);
k = "-" + k + "i";
y = z + k;
window.alert(a + "x²+" + d + "x+" + c + " = 0" + "\n" + "x₁=" + s + " (" + h + ")" + "\n" + "x₂=" + y + " (" + i + ")" + "\n最大値,最小値(" + m + "," + l + ")");
}
s = "";
k = "";
z = "";
y = "";
x = "";
a = "";
b = "";
c = "";
r = "";
d = "";
e = "";
f = "";
g = "";
h = "";
i = "";
j = "";
}
function watoseki(){
a = window.prompt("和を入力してください","");
h = a*a/4
b = window.prompt("A+B=" + a + " (A,B∈R⇔AB=" + h + ")" + "\n" + "積を入力してください","");
e = ""
s = a/2
k = (a*a/4)-b
if (k >= 0) {
z=Math.pow(k,1/2)
x = s + z
y = s - z
f = x * 1 + y * 1
g = x * y
e = "\n" + "A+B=" + f + " AB=" + g
}
if (k < 0) {
z=Math.pow(Math.abs(k),1/2)
x = s + "+" + z + "i"
y = s + "+" + z + "i"
}
c = a/2
d = a*a/4-b
d = "√" + d
window.alert("A+B=" + a + " AB=" + b + "\n" + "A=" + x + " (" + c + "+" + d + ")" + "\n" + "B=" + y + " (" + c + "-" + d + ")" + e)
a = "";
b = "";
x = "";
y = "";
s = "";
z = "";
k = "";
c = "";
d = "";
e = "";
f = "";
g = "";
h = "";
}
function itizyou(){
n = window.prompt("1+2+3+...+n" + "\n" + "nに自然数を入れてください","");
if (n < 1) {
n = 1;
}
n = Math.floor(n)
if (n % 2 == 0) {
x = n/2;
x = x*(n+1);
} else {
x = (n+1)/2;
x = x*n;
}
window.alert("1~" + n + "までの和 = " + x)
x = "";
n = "";
}
function nizyou(){
n = window.prompt("1²+2²+3²+...+n²" + "\n" + "nに自然数を入れてください","");
if (n < 1) {
n = 1;
}
n = Math.floor(n)
if (n % 3 == 0) {
x = n/3;
if (n % 2 == 0){
x = x / 2;
x = x*(2*n+1)*(n+1);
} else {
x = (n+1)/2*x;
x = (2*n+1)*x;
}
} else if *1
if (a < 1){
a = 1
}
c = a
b = window.prompt("分子を入力してください","")
b = Math.floor(Math.abs(b))
if (b < 1){
b = 1
}
d = b
for(;;){
b = b % a
if( b == 0 ) break;
a = a % b
if( a == 0 ) break;
}
if (a == 0){
x = b
} else {
x = a
}
a = c
b = d
c = c / x
d = d / x
window.alert(b + "/" + a + " = " + d + "/" + c)
}
function suusiki(){
a = window.prompt("加法減法乗法除法の式を入力してください","")
if (a !== "Math"){
x = eval(a)
} else {
window.alert("Math.abs(x)=|x|\nMath.floor(x)=[x]\nMath.PI=π\nMath.E=e\nMath.sqrt(x)=√x\nMath.log(x) = log(x)\nMath.pow(x,y)=x^y\nMath.atan(y,x)=agr(x+yi)\nMath.exp(x)=e^x")
}
if (a == "gosa"){
gosa = (gosa + 1) % 2
}
window.alert(a + " = " + x)
a = ""
x = ""
}
function daisyou(){
a = window.prompt("1つ目の数を入力してください","")
b = window.prompt("2つ目の数を入力してください","")
c = eval(a)
d = eval(b)
if (c == d){
window.alert(a + " = " + b)
} else if (c < d){
window.alert(a + " < " + b)
} else if (c > d){
window.alert(a + " > " + b)
}
}
function burakkubokkusu(){
a = window.prompt("1つ目の数を入力してください","")
b = window.prompt("2つ目の数を入力してください","")
x = a ^ b
window.alert(a + " xor " + b + " = " + x)
a = ""
b = ""
x = ""
}
function sain(){
a = window.prompt("sinを求める数の実部を入力してください","")
c = eval(a)
b = window.prompt("sinを求める数の虚部を入力してください","")
d = eval(b)
e = Math.exp*2 = " + x)
}
function kakuritu(){
a = window.prompt("xに入れる数を入力してください","")
e = a
b = window.prompt("yに入れる数を入力してください","")
f = b
c = window.prompt("zに入れる数を入力してください","")
a = Math.floor(a);
if (a < 1){
a = 1
}
b = Math.floor(b);
if (b < 1){
b = 1
}
for(;;){
b = b % a
if( b == 0 ) break;
a = a % b
if( a == 0 ) break;
}
if (a == 0){
x = b
} else {
x = a
}
g = e/x
y = f/x
y = Math.pow(1-g/y,c)
y = 1 - y
w = Math.pow(f/x,c)
z = w - Math.pow*3
i = (g-a)*(g-b)*(g-c)*(g-d)
x = Math.pow(i-h,1/2)
j = a*b*c*d
k = (e*1 + f*1)/2
window.alert("辺A = " + a + "\n" + "辺B =" + b + "\n" + "辺C = " + c + "\n" + "辺D = " + d + "\n" + "角AB = " + e + "\n" + "角CD = " + f + "\n" + "面積 = " + x + "\n" + "(√" + i + "-" + j + "cos²" + k + ")")
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
k = ""
}
function seisankanukei(){
a = window.prompt("一辺の長さを入力してください","")
c = a
a = eval(a)
x = a*a*Math.pow(3,1/2)/4
b = a*a
y = b + "√3/4"
window.alert("一辺 = " + c + "\n" + "面積 = " + x + "\n"+ "(" + y + ")")
a = ""
b = ""
c = ""
x = ""
y = ""
}
function nihensonokaku(){
a = window.prompt("一辺の長さを入力してください","")
b = window.prompt("もう一辺の長さを入力してください","")
c = window.prompt("間の角を入力してください","")
x = a*b*Math.sin(c * (Math.PI / 180))/2
d = a*b/2
y = d + "sin" + c
window.alert("辺 = " + a + "," + b + "\n" + "間の角 = " + c + "\n" + "面積 = " + x + "\n" + "(" + y + ")")
a = ""
b = ""
c = ""
d = ""
x = ""
y = ""
}
function ritunogoukei(){
a = window.prompt("xを入力してください","")
c = eval(a)
b = window.prompt("yを入力してください","")
d = eval(b)
x = 1-Math.pow(1-d,1/c)
window.alert("1-(1-" + b + ")^(1/" + a + ") = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function zyunnkannsyousuu(){
a = window.prompt("循環しているところを入力してください","")
a = Math.floor(a)
b = Math.floor(Math.log(a)/Math.log(10))
x = Math.pow(10,b+1)-1
if (a < 1){
a = 1
}
if (x < 1){
x = 1
}
c = a
d = x
for(;;){
x = x % a
if( x == 0 ) break;
a = a % x
if( a == 0 ) break;
}
if (a == 0){
y = x
} else {
y = a
}
a = c/y
x = d/y
if (x == 1){
x = a
} else {
x = a + "/" + x
}
window.alert("0." + c + "... = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
y = ""
}
function ritunannkai(){
a = window.prompt("xを入力してください","")
c = eval(a)
b = window.prompt("yを入力してください","")
d = eval(b)
x = Math.log(1-c)/Math.log(1-d)
window.alert("log(1-" + a + ")/log(1-" + b + ") = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function dainyuu(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("xを入力してください","")
x = eval(b)
y = eval(a)
window.alert(a + "\nx = " + b + "\n" + y)
a = ""
b = ""
x = ""
y = ""
}
function bibunn(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("xを入力してください","")
y = eval(b)
c = window.prompt("εの係数を入力してください\n(推奨 100)","")
if (c == ""){
c = 1
}
x = y + c * Number.EPSILON
d = eval(a)
x = y - c * Number.EPSILON
e = eval(a)
x = y + 2 * c * Number.EPSILON
f = eval(a)
x = y - 2 * c * Number.EPSILON
g = eval(a)
x = y
h = (d - eval(a))/(c*Number.EPSILON)
i = (d - e)/(2*c*Number.EPSILON)
z = (1 * g - 8 * e + 8 * d - 1 * f)/(c * 12 * Number.EPSILON)
window.alert(a + "\nx = " + b + "\nεの倍率 " + c + "\n二点近似 " + h + "\n三点近似 " + i + "\n五点近似 " + z)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
x = ""
y = ""
z = ""
}
function itizikai(){
a = window.prompt("右辺を入力してください (ただし変数はxとします)","")
b = window.prompt("左辺を入力してください (ただし変数はxとします)","")
x = 0
c = eval(a)
d = eval(b)
x = 1
e = c - eval(a)
f = d - eval(b)
x = (d-c)/(f-e)
g = eval(a)
h = eval(b)
window.alert(a + " = " + b + "\nx = " + x + "\n" + g + " = " + h)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
x = ""
}
function kyokugenn(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
x = window.prompt("xを近付ける数を入力してください","")
z = x
b = window.prompt("εの係数を入力してください","")
x = eval(x)*1 + b*Number.EPSILON
y = eval(a)
window.alert("εの係数 " + b + "\n" + "lim x→" + z + " " + a + " = " + y)
a = ""
b = ""
x = ""
y = ""
z = ""
}
function tousazenkasiki(){
a = window.prompt("a₁=","")
b = window.prompt("a₁=" + a + "\n" + "aₓ₊₁ =","")
x = a + "+" + b + "(x-1)"
window.alert("aₓ = " + x)
}
function touhizenkasiki(){
a = window.prompt("a₁=","")
b = window.prompt("a₁=" + a + "\n" + "aₓ₊₁ =","")
x = a + "*" + b + "ˣ⁻¹"
window.alert("aₓ = " + x)
}
function tokuseizenkasiki(){
a = window.prompt("a₁=","")
b = window.prompt("a₁=" + a + "\n" + "aₓ₊₁ =","")
c = window.prompt("a₁=" + a + "\n" + "aₓ₊₁ = " + b + "aₓ+","")
e = c/(1-b)
d = a - e
x = d + "*" + b + "ˣ⁻¹+" + e
y = "(" + a + "-" + c + "/(" + b + "-1)" + ")" + b + "ˣ⁻¹+" + c + "/(" + b + "-1)"
window.alert("aₓ = " + x + " (" + y + ")")
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
}
function myuutonhou(){
a = window.prompt("方程式を入力してください (ただし変数はxとします)","")
b = window.prompt("導関数を入力してください (ただし変数はxとします)","")
c = window.prompt("ループ回数を入力してください","")
x = window.prompt("初期値を入力してください","")
x = eval(x)
for( var i = 0; i < c ; i++){
if( eval(a) == 0 ) break
x = x - eval(a)/eval(b)
}
d = eval(a)
window.alert(a + " = 0\n(" + a + ")´ = " + b + "\nx = " + x + "\n" + a + " = " + d)
a = ""
b = ""
c = ""
d = ""
i = ""
x = ""
}
function santennmyuuton(){
a = window.prompt("方程式を入力してください (ただし変数はxとします)","")
b = window.prompt("εの係数を入力してください","")
c = window.prompt("ループ回数を入力してください","")
x = window.prompt("初期値を入力してください","")
x = eval(x)
for( var i = 0; i < c ; i++){
if( eval(a) == 0 ) break
y = x
x = y + b * Number.EPSILON
d = eval(a)
x = y - b * Number.EPSILON
e = eval(a)
x = y
f = (d-e)/(2*b*Number.EPSILON)
x = x - eval(a)/f
}
g = eval(a)
window.alert(a + " = 0\nx = " + x + "\n" + a + " = " + g)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
i = ""
x = ""
y = ""
}
function gotennmyuuton(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("εの係数を入力してください","")
c = window.prompt("ループ回数を入力してください","")
x = window.prompt("初期値を入力してください","")
x = eval(x)
for( var i = 0; i < c ; i++){
if( eval(a) == 0 ) break
y = x
x = y + b * Number.EPSILON
d = eval(a)
x = y - b * Number.EPSILON
e = eval(a)
x = y + 2 * b * Number.EPSILON
f = eval(a)
x = y - 2 * b * Number.EPSILON
g = eval(a)
x = y
h =(g-8*e+8*d-f)/(12*b*Number.EPSILON)
x = x - eval(a)/h
}
j = eval(a)
window.alert(a + " = 0\nx = " + x + "\n" + a + " = " + j)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
x = ""
y = ""
}
function sekibunn(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("εの係数の10の指数を入力してください","")
b = eval(b)
c = window.prompt("積分範囲を入力してください (下限)","")
f = c
c = eval(c)
d = window.prompt("積分範囲を入力してください (上限)","")
g = d
d = eval(d)
y = 1
if (c > d){
y = c
c = d
d = y
y = -1
} else if (c == d){
y = 0
}
x = c
e = 0
for ( var i = c;i <= d;i = i + Math.pow(10,b) * Number.EPSILON) {
x = i
e = e + eval(a)*Math.pow(10,b)*Number.EPSILON
}
e = e * y
window.alert("∫(" + a + "," + f + "," + g + ") = " + e)
}
function pii(){
a = window.prompt("nを入力してください","")
a = Math.floor(Math.abs(a))
b = window.prompt("rを入力してください","")
b = Math.floor(Math.abs(b))
if (a < b){
y = a
a = b
b = y
y = ""
}
x = 1
for( var i = a;i >= a - b + 1 ; i-- ){
x = x * i
}
window.alert(a + "P" + b + " = " + x)
a = ""
b = ""
x = ""
i = ""
}
function cii(){
a = window.prompt("nを入力してください","")
a = Math.floor(Math.abs(a))
b = window.prompt("rを入力してください","")
b = Math.floor(Math.abs(b))
if (a < b){
y = a
a = b
b = y
y = ""
}
x = 1
for( var i = a;i >= a - b + 1 ; i-- ){
x = x * i
}
for (i = 1;i <= b;i++){
x = x / i
}
window.alert(a + "C" + b + " = " + x)
a = ""
b = ""
i = ""
x = ""
}
function siguma(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("範囲を入力してください (下限)","")
c = window.prompt("範囲を入力してください (上限)","")
if (c < b){
y = c
c = b
b = y
y = ""
}
x = 0
e = 0
for ( var i = b;i <= c;i++){
x = i
d = eval(a)
e = e*1 + d*1
}
window.alert("Σ(" + a + ",x=" + b + "," + c + ") = " + e)
a = ""
b = ""
c = ""
s = ""
x = ""
i = ""
}
function pai(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("範囲を入力してください (下限)","")
c = window.prompt("範囲を入力してください (上限)","")
if (c < b){
y = c
c = b
b = y
y = ""
}
x = 0
e = 1
for ( var i = b;i <= c;i++){
x = i
d = eval(a)
e = e * d
}
window.alert("Π(" + a + ",x=" + b + "," + c + ") = " + e)
a = ""
b = ""
c = ""
s = ""
x = ""
i = ""
}
function nizihoutesikinosanten(){
a = window.prompt("一つ目の点のx座標を入力してください","")
b = window.prompt("一つ目の点のy座標を入力してください","")
c = window.prompt("二つ目の点のx座標を入力してください","")
d = window.prompt("二つ目の点のy座標を入力してください","")
g = window.prompt("三つ目の点のx座標を入力してください","")
f = window.prompt("三つ目の点のy座標を入力してください","")
v = 1
v = window.prompt("初速を入力してください","")
x = (d*g+b*(c-g)+a*(f-d)-c*f)/(a*(g*g-c*c)-c*g*g+c*c*g+a*a*(c-g))
y = (-1)*(d*g*g+b*(c*c-g*g)+a*a*(f-d)-c*c*f)/(a*(g*g-c*c)-c*g*g+c*c*g+a*a*(c-g))
z = (a*(d*g*g-c*c*f)+b*(c*c*g-c*g*g)+a*a*(c*f-d*g))/(a*(g*g-c*c)-c*g*g+c*c*g+a*a*(c-g))
m = y*y-4*x*z
D = m
t1 = ""
t2 = ""
if (m >= 0){
t1 = *4/(2*x)
t2 = *5/(2*x)
}
p = (-2)*x/9.80665
s = Math.asin(y/v)*180/Math.PI
k1 = (t1)*Math.pow(v*v-y*y,1/2)
k2 = (t2)*Math.pow(v*v-y*y,1/2)
window.alert("A("+ a + "," + b +")\nB(" + c + "," + d + ")\nC(" + g + "," + f + ")\nv = " + v + "\n" + x + "x²+" + y + "x+" + z + "\n" + "⇔x = " + t1 + "," + t2 + "\n" + "D = " + D + "\nθ = " + s + "\n重力比 " + p + "\n" + t1 + "→(" + k1 + ",0)\n" + t2 + "→(" + k2 + ",0)")
a = ""
b = ""
c = ""
d = ""
g = ""
f = ""
x = ""
y = ""
z = ""
v = ""
k1 = ""
k2 = ""
t1 = ""
t2 = ""
s = ""
D = ""
m = ""
p = ""
}
function sangenrenritu(){
a = window.prompt("一つ目の式のxを入力してください","")
b = window.prompt("一つ目の式のyを入力してください","")
c = window.prompt("一つ目の式のzを入力してください","")
d = window.prompt("一つ目の式の答えを入力してください","")
e = window.prompt("二つ目の式のxを入力してください","")
f = window.prompt("二つ目の式のyを入力してください","")
g = window.prompt("二つ目の式のzを入力してください","")
h = window.prompt("二つ目の式の答えを入力してください","")
i = window.prompt("三つ目の式のxを入力してください","")
j = window.prompt("三つ目の式のyを入力してください","")
k = window.prompt("三つ目の式のzを入力してください","")
l = window.prompt("三つ目の式の答えを入力してください","")
x = (b*(h*k-g*l)+c*(f*l-h*j)+d*(g*j-f*k))/(a*(g*j-f*k)+b*(e*k-g*i)+c*(f*i-e*j))
y = (a*(h*k-g*l)+c*(e*l-h*i)+d*(g*i-e*k))/(a*(g*j-f*k)+b*(e*k-g*i)+c*(f*i-e*j))*(-1)
z = (a*(h*j-f*l)+b*(e*l-h*i)+d*(f*i-e*j))/(a*(g*j-f*k)+b*(e*k-g*i)+c*(f*i-e*j))
window.alert(a + "x+" + b + "y+" + c + "z = " + d + "\n" + e + "x+" + f + "y+" + g + "z = " + h +"\n" + i + "x+" + j + "y+" + k + "z = " + l + "\n" + "x = " + x + "\ny = " + y + "\nz = " + z)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
k = ""
l = ""
}
function yongenrenritu(){
a = window.prompt("一つ目の式のxを入力してください","")
b = window.prompt("一つ目の式のyを入力してください","")
c = window.prompt("一つ目の式のzを入力してください","")
d = window.prompt("一つ目の式のwを入力してください","")
e = window.prompt("一つ目の式の答えを入力してください","")
f = window.prompt("二つ目の式のxを入力してください","")
g = window.prompt("二つ目の式のyを入力してください","")
h = window.prompt("二つ目の式のzを入力してください","")
i = window.prompt("二つ目の式のwを入力してください","")
j = window.prompt("二つ目の式の答えを入力してください","")
k = window.prompt("三つ目の式のxを入力してください","")
l = window.prompt("三つ目の式のyを入力してください","")
n = window.prompt("三つ目の式のzを入力してください","")
m = window.prompt("三つ目の式のwを入力してください","")
o = window.prompt("三つ目の式の答えを入力してください","")
p = window.prompt("四つ目の式のxを入力してください","")
q = window.prompt("四つ目の式のyを入力してください","")
r = window.prompt("四つ目の式のzを入力してください","")
s = window.prompt("四つ目の式のwを入力してください","")
t = window.prompt("四つ目の式の答えを入力してください","")
x = (d*(g*(n*t-o*r)+h*(o*q-l*t)+j*(l*r-n*q))+b*(i*(o*r-n*t)+h*(m*t-o*s)+j*(n*s-m*r))+c*(g*(o*s-m*t)+i*(l*t-o*q)+j*(m*q-l*s))+e*(g*(m*r-n*s)+h*(l*s-m*q)+i*(n*q-l*r)))/(a*(g*(n*s-m*r)+h*(m*q-l*s)+i*(l*r-n*q))+b*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r))+c*(f*(l*s-m*q)+g*(m*p-k*s)+i*(k*q-l*p))+d*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))*(-1)
y = (d*(f*(n*t-o*r)+h*(o*p-k*t)+j*(k*r-n*p))+a*(i*(o*r-n*t)+h*(m*t-o*s)+j*(n*s-m*r))+c*(f*(o*s-m*t)+i*(k*t-o*p)+j*(m*p-k*s))+e*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r)))/(a*(g*(n*s-m*r)+h*(m*q-l*s)+i*(l*r-n*q))+b*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r))+c*(f*(l*s-m*q)+g*(m*p-k*s)+i*(k*q-l*p))+d*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))
z = (a*(g*(m*t-o*s)+i*(o*q-l*t)+j*(l*s-m*q))+b*(f*(o*s-m*t)+i*(k*t-o*p)+j*(m*p-k*s))+d*(f*(l*t-o*q)+g*(o*p-k*t)+j*(k*q-l*p))+e*(f*(m*q-l*s)+g*(k*s-m*p)+i*(l*p-k*q)))/(a*(g*(n*s-m*r)+h*(m*q-l*s)+i*(l*r-n*q))+b*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r))+c*(f*(l*s-m*q)+g*(m*p-k*s)+i*(k*q-l*p))+d*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))*(-1)
w = (a*(g*(n*t-o*r)+h*(o*q-l*t)+j*(l*r-n*q))+b*(f*(o*r-n*t)+h*(k*t-o*p)+j*(n*p-k*r))+c*(f*(l*t-o*q)+g*(o*p-k*t)+j*(k*q-l*p))+e*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))/(a*(g*(n*s-m*r)+h*(m*q-l*s)+i*(l*r-n*q))+b*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r))+c*(f*(l*s-m*q)+g*(m*p-k*s)+i*(k*q-l*p))+d*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))
window.alert(a + "x+" + b + "y+" + c + "z+" + d + "w=" + e + "\n" + f + "x+" + g + "y+" + h + "z+" + i + "w = " + j + "\n" + k + "x+" + l + "y+" + n + "z+" + m + "w = " + o + "\n" + p + "x+" + q + "y+" + r + "z+" + s + "w = " + t + "\nx = " + x + "\ny = " + y + "\nz = " + z + "\nw = " + w)
}
function heikinn(){
b = 0
c = ""
d = 1
e = 0
f = 0
g = 0
h = 0
j = 0
l = ""
n = ""
for (var i = 1;;i++){
a = window.prompt("数を入力してください (" + i + "回目)","")
if( a == "" ) break
c = c + a + ","
if (l == ""){
l = a
} else if (eval(l) < eval(a)){
l = a
}
if (n == ""){
n = a
} else if (eval(n) > eval(a)){
n = a
}
a = eval(a)
j = j*1 + a*a
b = b*1 + a*1
d = d * a
e = e*1 + 1 / a
if (a > 0){
f = f*1 + 1
} else if (a < 0){
g = g*1 +1
} else if (a == 0){
h = h*1 + 1
}
}
i = i - 1
b = b / i
d = Math.pow(d,1/i)
e = i / e
j = j/i - b*b
k = Math.pow(j,1/2)
window.alert(c + " (" + i + "個)\n正の数 = " + f + "\n負の数 = " + g + "\n0の数 = " + h + "\n相加平均 = " + b + "\n相乗平均 = " + d + "\n調和平均 = " + e + "\n分散 = " + j + "\n標準偏差 = " + k + "\n最大値 = " + l + "\n最小値 = " + n)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
j = ""
k = ""
l = ""
n = ""
i = ""
}
function nikaibibun(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("εの係数を入力してください (推奨 100)","")
b = b * 0.0000001
c = window.prompt("xを入力してください","")
x = Number(c)
y = x
x = Number(y) + b
d = eval(a)
x = y
e = eval(a)
x = y - b
f = eval(a)
g = (d-2*e+f)/(b*b)
window.alert("(" + a + ")´´ = " + g)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
x = ""
y = ""
}
function soinnsuubunnkai(){
a = window.prompt("自然数を入力してください","")
f = 1
e = a
b = Math.pow(a,1/2)
c = 0
d = ""
for (;a != 1&&c == 0;){
c = a % 2
if (c == 0){
d = d + "2,"
f = f * 2
a = a/2
}
}
for (var i = 3;a != 1&&i <= b;){
c = Number(a) % Number(i)
if (c == 0){
d = d + "" + i + ","
a = a/i
f = f * i
} else {
i = Number(i) + 2
}
}
if (a != 1){
d = d + "" + a + ","
f = f * a
}
window.alert(e + "の素因数分解 \n" + d + "\n積 = " + f)
if (d == e + ","){
window.alert(e + "は素数です")
MathP = e
} else {
window.alert(e + "は合成数です")
}
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
i = ""
}
function yakusuukannsuu(){
a = window.prompt("自然数を入力してください","")
e = window.prompt("何乗するかをを入力してください","")
f = 0
b = a/2
d = Math.pow(a,e)
for (var i = 1;i<=b;i++){
c = a % i
if (c == 0){
d = Number(d) + Number(Math.pow(i,e))
}
}
window.alert("σ(" + e + "," + a + ") = " + d)
a = ""
b = ""
c = ""
d = ""
i = ""
}
function ranberuto(){
x = window.prompt("引数を入力してください (-e⁻¹≦x≦∞)","")
w = eval(x)
y = x
x = eval(x)
for (var i = 1;;i++) {
if( Math.abs(x*Math.pow(Math.E,x)-w) < 0.000000001 && i > 10000) break
x = (Number(x*x)+Number(w*Math.pow(Math.E,(-1)*x)))/(Number(x)+Number(1))
}
z = x*Math.pow(Math.E,x)
i = eval(y)
window.alert("x = " + i + "\nW(" + y + ") = " + x + "\nxe^x = " + z)
MathW = x
if (y == ""){
MathW = ""
}
i = ""
y = ""
z = ""
x = ""
w = ""
}
function saisyouzizyouhou(){
m = ""
c = 0
d = 0
e = 0
f = 0
for (var i = 1;;i++){
a = window.prompt("xを入力してください (" + i + "回目)","")
if( a == "" ) break
m = m + "(" + a
a = eval(a)
c = Number(c) + Number(a * a)
d = Number(d) + Number(a)
b = window.prompt("yを入力してください (" + i + "回目)","")
m = m + "," + b + "),"
b = eval(b)
e = Number(e) + Number(a*b)
f = Number(f) + Number(b)
}
i = i - 1
c = c/i
g = d/i
e = e/i
h = f/i
f = (f/i)*(g)
d = g*g
x = (e-f)/(c-d)
y = h-x*g
m = m + " (" + i + "個)"
window.alert(m + "\n" + x + "x+" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
n = ""
m = ""
x = ""
y = ""
}
function zikantasizan(){
a = window.prompt("足される数の分数を入力してください","")
b = window.prompt("足される数の秒数を入力してください","")
c = window.prompt("足す数の分数を入力してください","")
d = window.prompt("足す数の秒数を入力してください","")
e = a*60+b*1+c*60+d*1
y = e%60
x = (e-y)/60
window.alert(a + ":" + b + " + " + c + ":" + d + " = " + x + ":" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
}
function zikanhukizan(){
a = window.prompt("引かれる数の分数を入力してください","")
b = window.prompt("引かれる数の秒数を入力してください","")
c = window.prompt("引く数の分数を入力してください","")
d = window.prompt("引く数の秒数を入力してください","")
e = a*60+b*1-c*60-d*1
s = Math.sign(e)
e = Math.abs(e)
y = e%60
x = (e-y)/60
if (s == 1){
s = "+"
} else if (s == -1){
s = "-"
} else {
s = ""
}
window.alert(a + ":" + b + " - " + c + ":" + d + " = " + s + x + ":" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
s = ""
x = ""
y = ""
}
function zikanwarizan(){
a = window.prompt("割られる数の分数を入力してください","")
b = window.prompt("割られる数の秒数を入力してください","")
c = window.prompt("割る数を入力してください","")
e = (a*60+b*1)/c
y = e%60
x = (e-y)/60
window.alert(a + ":" + b + " ÷ " + c + " = " + x + ":" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
}
function zikankakezan(){
a = window.prompt("かけられる数の分数を入力してください","")
b = window.prompt("かけられる数の秒数を入力してください","")
c = window.prompt("かける数を入力してください","")
e = (a*60+b*1)*c
y = e%60
x = (e-y)/60
window.alert(a + ":" + b + " × " + c + " = " + x + ":" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
}
function sosuuteiri(){
a = window.prompt("自然数を入力してください","")
x = a/Math.log(a)
window.alert("π(" + a + ") = " + x)
a = ""
x = ""
}
function nitenkannokyori(){
a = window.prompt("一つ目の点のx座標を入力してください","")
b = window.prompt("一つ目の点のy座標を入力してください","")
c = window.prompt("二つ目の点のx座標を入力してください","")
d = window.prompt("二つ目の点のy座標を入力してください","")
x = Math.pow*6/(Math.pow(a*a+b*b+c*c,1/2))
window.alert("(" + x + "," + y + "," + z + ")と " + a + "x + " + b + "y + " + c + "z + " + d + " = 0の距離\n" + e)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
z = ""
}
function bekutorunonaiseki(){
a = window.prompt("一つ目のベクトルのx成分を入力してください","")
b = window.prompt("一つ目のベクトルのy成分を入力してください","")
c = window.prompt("二つ目のベクトルのx成分を入力してください","")
d = window.prompt("二つ目のベクトルのy成分を入力してください","")
n = a*c+b*d
k = n/(Math.pow*7
s = Math.acos(k)*180/Math.PI
window.alert("(" + a + "," + b + "),(" + c + "," + d + ")\n内積 " + n + "\nなす角 " + s + "\ncos(θ) " + k)
a = ""
b = ""
c = ""
d = ""
n = ""
k = ""
s = ""
}
function sankakukeinokakudo(){
a = window.prompt("一辺の長さを入力してください","")
b = window.prompt("間の角を入力してください","")
c = window.prompt("もう一つの間の角を入力してください","")
s =a*a*Math.sin(b/180*Math.PI)*Math.sin(c/180*Math.PI)/2/Math.sin*8/2,a)-Math.pow*9/2,a))/Math.pow(5,1/2)
x = Math.round(x)
window.alert(x)
a = ""
x = ""
}
function sannkakukeinohen(){
a = window.prompt("辺aの長さを入力してください","")
a = eval(a)
b = window.prompt("辺bの長さを入力してください","")
b = eval(b)
c = window.prompt("辺cの長さを入力してください","")
c = eval(c)
s = (a*1+b*1+c*1)/2
S = Math.pow(s*(s-a)*(s-b)*(s-c),1/2)
S2 = 2*(a*a*b*b+b*b*c*c+c*c*a*a)-(a*a*a*a+b*b*b*b+c*c*c*c)
r = S/s
R = a*b*c/S/4
ra = S/(s-a)
rb = S/(s-b)
rc = S/(s-c)
A = Math.acos*10
AA = A/Math.PI*180
B = Math.acos*11
BB = B/Math.PI*180
C = Math.acos*12
CC = C/Math.PI*180
ha = 2*S/a
hb = 2*S/b
hc = 2*S/c
cA = (b*b+c*c-a*a)/(2*b*c)
cB = (c*c+a*a-b*b)/(2*c*a)
cC = (a*a+b*b-c*c)/(2*a*b)
sA = Math.pow(1-cA*cA,1/2)
sB = Math.pow(1-cB*cB,1/2)
sC = Math.pow(1-cC*cC,1/2)
ctA2 = Math.cos(A/2)/Math.sin(A/2)
ctB2 = Math.cos(B/2)/Math.sin(B/2)
ctC2 = Math.cos(C/2)/Math.sin(C/2)
s2A = 2*sA*cA
s2B = 2*sB*cC
s2C = 2*sB*cC
tA = Math.tan(A)
tB = Math.tan(B)
tC = Math.tan(C)
sa = s - a
sb = s - b
sc = s - c
window.alert("(a = " + a + ",b = " + b + ",c = " + c + ")\nr = " + r + "\nR = " + R + "\nS = " + S + "\n16S² = " + S2 + "\ns = " + s + "\ns-a = " + sa + "\ns-b = " + sb + "\ns-c = " + sc + "\nA = " + A + "rad = " + AA + "°\nB = " + B + "rad = " + BB + "°\nC = " + C + "rad = " + CC + "°\nsin(A) = " + sA + "\ncos(A) = " + cA + "\nsin(B) = " + sB + "\ncos(B) = " + cB + "\nsin(C) = " + sC + "\ncos(C) = " + cC)
window.alert("\nsin(2A) = " + s2A + "\ncot(A/2) = " + ctA2 + "\nsin(2B) = " + s2B + "\ncot(B/2) = " + ctB2 + "\nsin(2C) = " + s2C + "\ncot(C/2) = " + ctC2 + "\ntan(A) = " + tA + "\nha = " + ha + "\ntan(B) = " + tB + "\nhb = " + hb + "\ntan(C) = " + tC + "\nhc = " + hc + "\nra = " + ra + "\nrb = " + rb + "\nrc = " +rc)
a = ""
b = ""
c = ""
s = ""
S = ""
r = ""
R = ""
sA = ""
sB = ""
sC = ""
cA = ""
cB = ""
cC = ""
sa = ""
sb = ""
sc = ""
ra = ""
rb = ""
rc = ""
A = ""
B = ""
C = ""
AA = ""
BB = ""
CC = ""
tA = ""
tB = ""
tC = ""
ha = ""
hb = ""
hc = ""
ctA2 = ""
ctB2 = ""
ctC2 = ""
s2A = ""
s2B = ""
s2C = ""
S2 = ""
}
function ruzyandoru(){
n = window.prompt("自然数を入力してください","")
p = window.prompt("素数を入力してください","")
s = Number(n)
d = 0
for(;s >= p;){
s = Math.floor(s/p)
d = d + s
}
window.alert("v_" + p + " (" + n + "!) = " + d)
n = ""
p = ""
s = ""
d = ""
}
function pzyoukonn(){
m = window.prompt("範囲を入力してください","")
p = window.prompt("指数を入力してください","")
n = eval(m)
s = 0
k = 0
for(;Math.pow(n,p)-1 >= k;k++){
a = Math.floor(Math.pow(k,1/p))
if(Math.pow(a+1,p) == k){
s = s + a + 1
} else {
s = s + a
}
}
window.alert("s = " + s)
p = ""
m = ""
n = ""
k = ""
s = ""
}
function pzyounowa(){
m = window.prompt("範囲を入力してください","")
p = window.prompt("指数を入力してください","")
n = eval(m)
s = 0
k = 0
for(;n >= k;k++){
s = s + Math.pow(k,p)
}
window.alert("s = " + s)
p = ""
m = ""
n = ""
k = ""
s = ""
}
function nnopzyou(){
n = window.prompt("底数を入力してください","")
p = window.prompt("指数を入力してください","")
window.alert(Math.pow(n,p))
n = ""
p = ""
}
function gcd(gcd1, gcd2) {
// 剰余
var gcdsub;

if(gcd1 < gcd2) { // gcd1 >= gcd2にする
gcdsub = gcd1; //一時退避
gcd1 = gcd2;
gcd2 = gcdsub;
}

while *13
n = n/g
d = d/g
}
numerator[i] = n
denominator[i] = d

}

 

n = 0
d = 1
i = 1
for(;i <= m;i++){

subn = n*denominator[i]-Math.pow(-1,i)*d*numerator[i]
subd = d*denominator[i]
if(subn == 0){

n = 0
d = 1

} else {
g = gcd(Math.abs(subn),Math.abs(subd))
n = subn/g
d = subd/g
}

}

numerator.shift()
denominator.shift()

numerator.unshift(n)
denominator.unshift(d)


numerator.unshift(0)
denominator.unshift(1)

 

window.alert(numerator + "\n" + denominator)
t = window.prompt("繰り返しますか? 1でstop", "")

}

n = ""
d = ""
i = ""
g = ""
m = ""
t = ""
numerator = ""
denominator = ""

}
</script>
</head>
<body>
<p><input type="button" value="一次方程式" onClick="itizi()"></p>
<p><input type="button" value="二次方程式" onClick="nizi()"></p>
<p><input type="button" value="和と積" onClick="watoseki()"></p>
<p><input type="button" value="自然数の和" onClick="itizyou()"></p>
<p><input type="button" value="自然数の2乗の和" onClick="nizyou()"></p>
<p><input type="button" value="自然数の3乗の和" onClick="sanzyou()"></p>
<p><input type="button" value="比例式" onClick="hireisiki()"></p>
<p><input type="button" value="二元連立方程式(クラメルの公式)" onClick="nigenrenritu()"></p>
<p><input type="button" value="最大公約数" onClick="kouyakusuu()"></p>
<p><input type="button" value="最小公倍数" onClick="koubaisuu()"></p>
<p><input type="button" value="三平方の定理" onClick="sanheihou()"></p>
<p><input type="button" value="三角形の面積(へロンの公式)" onClick="heron()"></p>
<p><input type="button" value="複素数の加法" onClick="hukusosuunowa()"></p>
<p><input type="button" value="複素数の減法" onClick="hukusosuunosa()"></p>
<p><input type="button" value="複素数の乗法" onClick="hukusosuunoseki()"></p>
<p><input type="button" value="複素数の除法" onClick="hukusosuunosyou()"></p>
<p><input type="button" value="複素数の冪乗" onClick="hukusosuunosisuu()"></p>
<p><input type="button" value="階乗" onClick="kaizyou()"></p>
<p><input type="button" value="約分" onClick="yakubun()"></p>
<p><input type="button" value="数式処理" onClick="suusiki()"></p>
<p><input type="button" value="大小関係" onClick="daisyou()"></p>
<p><input type="button" value="xor演算" onClick="burakkubokkusu()"></p>
<p><input type="button" value="sin(θ)" onClick="sain()"></p>
<p><input type="button" value="cos(θ)" onClick="cosain()"></p>
<p><input type="button" value="tan(θ)" onClick="tanzyento()"></p>
<p><input type="button" value="arcsin(θ)" onClick="aksain()"></p>
<p><input type="button" value="arccos(θ)" onClick="akcosain()"></p>
<p><input type="button" value="arctan(θ)" onClick="aktan()"></p>
<p><input type="button" value="agr(x+yi)" onClick="agr()"></p>
<p><input type="button" value="e^x" onClick="sisuukannsuu()"></p>
<p><input type="button" value="sgi(x)" onClick="sigunaru()"></p>
<p><input type="button" value="e^(iθ)" onClick="oira()"></p>
<p><input type="button" value="1-{(1-x/y)^z}" onClick="kakuritu()"></p>
<p><input type="button" value="乱数" onClick="ransuu()"></p>
<p><input type="button" value="log(x,y)" onClick="rogu()"></p>
<p><input type="button" value="Log(x+yi)" onClick="logu()"></p>
<p><input type="button" value="四角形の面積(ブレートシュナイダーの公式)" onClick="bureitosyunaida()"></p>
<p><input type="button" value="正三角形の面積" onClick="seisankanukei()"></p>
<p><input type="button" value="三角形の面積(二辺の長さと間の角)" onClick="nihensonokaku()"></p>
<p><input type="button" value="1-(1-y)^(1/x)" onClick="ritunogoukei()"></p>
<p><input type="button" value="循環小数" onClick="zyunnkannsyousuu()"></p>
<p><input type="button" value="log(1-x)/log(1-y)" onClick="ritunannkai()"></p>
<p><input type="button" value="代入" onClick="dainyuu()"></p>
<p><input type="button" value="微分" onClick="bibunn()"></p>
<p><input type="button" value="一次方程式 (改)" onClick="itizikai()"></p>
<p><input type="button" value="極限" onClick="kyokugenn()"></p>
<p><input type="button" value="等差型漸化式" onClick="tousazenkasiki()"></p>
<p><input type="button" value="等比型漸化式" onClick="touhizenkasiki()"></p>
<p><input type="button" value="特性方程式" onClick="tokuseizenkasiki()"></p>
<p><input type="button" value="ニュートン法(導関数)" onClick="myuutonhou()"></p>
<p><input type="button" value="ニュートン法(三点近似)" onClick="santennmyuuton()"></p>
<p><input type="button" value="ニュートン法(五点近似)" onClick="gotennmyuuton()"></p>
<p><input type="button" value="積分(区分求積法)" onClick="sekibunn()"></p>
<p><input type="button" value="nPr" onClick="pii()"></p>
<p><input type="button" value="nCr" onClick="cii()"></p>
<p><input type="button" value="Σ(f(x))" onClick="siguma()"></p>
<p><input type="button" value="Π(f(x))" onClick="pai()"></p>
<p><input type="button" value="二次方程式の三点" onClick="nizihoutesikinosanten()"></p>
<p><input type="button" value="三元連立方程式" onClick="sangenrenritu()"></p>
<p><input type="button" value="四元連立方程式" onClick="yongenrenritu()"></p>
<p><input type="button" value="数値処理" onClick="heikinn()"></p>
<p><input type="button" value="二回微分" onClick="nikaibibun()"></p>
<p><input type="button" value="素因数分解" onClick="soinnsuubunnkai()"></p>
<p><input type="button" value="約数関数" onClick="yakusuukannsuu()"></p>
<p><input type="button" value="W(x)(ランベルトのW関数)" onClick="ranberuto()"></p>
<p><input type="button" value="最小二乗法" onClick="saisyouzizyouhou()"></p>
<p><input type="button" value="時間の足し算" onClick="zikantasizan()"></p>
<p><input type="button" value="時間の引き算" onClick="zikanhukizan()"></p>
<p><input type="button" value="時間の掛け算" onClick="zikankakezan()"></p>
<p><input type="button" value="時間の割り算" onClick="zikanwarizan()"></p>
<p><input type="button" value="素数定理" onClick="sosuuteiri()"></p>
<p><input type="button" value="二点間の距離の公式" onClick="nitenkannokyori()"></p>
<p><input type="button" value="直線(or平面)と点の距離の公式" onClick="tyokusentotennokyori()"></p>
<p><input type="button" value="ベクトルの内積,なす角,cos(θ)" onClick="bekutorunonaiseki()"></p>
<p><input type="button" value="三角形の面積(一辺の長さと両端の角)" onClick="sankakukeinokakudo()"></p>
<p><input type="button" value="フィボナッチ数" onClick="fibontti()"></p>
<p><input type="button" value="三角形の3辺からの情報" onClick="sannkakukeinohen()"></p>
<p><input type="button" value="ルジャンドルの定理" onClick="ruzyandoru()"></p>
<p><input type="button" value="p乗根の和" onClick="pzyoukonn()"></p>
<p><input type="button" value="p乗の和" onClick="pzyounowa()"></p>
<p><input type="button" value="nのp乗" onClick="nnopzyou()"></p>
<p><input type="button" value="Faulhaber" onClick="Faulhaber()"></p>
</body>
</html>

*1:n+1) % 3 == 0){
x = (n+1)/3;
if (n % 2 == 0){
x = (n/2)*x;
x = x*(2*n+1);
} else {
x = x / 3;
x = x*(2*n+1)*n;
}
} else {
x = (2*n+1)/3;
if (n % 2 == 0){
x = (n/2)*x;
x = x * (x+1);
}else{
x = ((n+1)/2)*x;
x = x * n;
}
};
window.alert("1~" + n + "までの2乗の和 = " + x);
x = "";
n = "";
}
function sanzyou(){
n = window.prompt("1³+2³+3³+...+n³" + "\n" + "nに自然数を入れてください","");
if (n < 1) {
n = 1;
}
n = Math.floor(n);
if (n % 2 == 0) {
x = n/2;
x = x*(n+1);
} else {
x = (n+1)/2;
x = x*n;
}
x = x*x;
window.alert("1~" + n + "までの三乗の和 = " + x);
x = "";
n = "";
}
function hireisiki(){
a = window.prompt("x :"+ "\n" + "左辺の比の右側を入力してください","");
b = window.prompt("x : "+ a + "\n" + "右辺の比の左側を入力してください","");
c = window.prompt("x : "+ a + " = " + b + "\n" + "右辺の比の右側を入力してください","");
x = a*b/c;
window.alert("x : "+ a + " = " + b + " : " + c + "\n" + "x=" + x);
a = "";
b = "";
c = "";
x = "";
}
function nigenrenritu(){
a = window.prompt("\n" + "1つ目の式のxの係数を入力してください","")
b = window.prompt(a + "x" + "\n" + "1つ目の式のyの係数を入力してください","")
c = window.prompt(a + "x + " + b + "y" + "\n" + "1つ目の式の答えを入力してください","")
d = window.prompt(a + "x + " + b + "y = " + c + "\n" + "2つ目の式のxの係数を入力してください","")
e = window.prompt(a + "x + " + b + "y = " + c + "\n" + d + "x" + "\n" + "2つ目の式のyの係数を入力してください","")
f = window.prompt(a + "x + " + b + "y = " + c + "\n" + d + "x + " + e + "y" + "\n" + "2つ目の式の答えを入力してください","")
g = e*c-b*f
h = a*e-b*d
i = d*c-a*f
j = b*d-a*e
x = g/h
y = i/j
if (h < 0){
g = (-1) * g
h = (-1) * h
}
if (j < 0){
i = (-1) * i
j = (-1) * j
}
g = g + "/" + h
i = i + "/" + j
k = a*x + b*y
k = k + " = " + c
l = d*x + e*y
l = l + " = " + f
window.alert(a + "x + " + b + "y = " + c + "\n" + d + "x + " + e + "y = " + f + "\n" + "x=" + x + " (" + g + ")" + "\n" + "y=" + y + " (" + i + ")" + "\n" + k + "\n" + l)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
x = ""
y = ""
}
function kouyakusuu(){
a = window.prompt("1つ目の自然数を入力してください","")
a = Math.floor(a);
if (a < 1){
a = 1
}
c = a
b = window.prompt("GCD(" + a + "\n" + "2つ目の自然数を入力してください","")
b = Math.floor(b);
if (b < 1){
b = 1
}
d = b
for(;;){
b = b % a
if( b == 0 ) break;
a = a % b
if( a == 0 ) break;
}
if (a == 0){
x = b
} else {
x = a
}
window.alert("GCD(" + c + "," + d + ") = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function koubaisuu(){
a = window.prompt("1つ目の自然数を入力してください","")
a = Math.floor(a);
if (a < 1){
a = 1
}
c = a
b = window.prompt("LCM(" + a + "\n" + "2つ目の自然数を入力してください","")
b = Math.floor(b);
if (b < 1){
b = 1
}
d = b
for(;;){
b = b % a
if( b == 0 ) break;
a = a % b
if( a == 0 ) break;
}
if (a == 0){
x = b
} else {
x = a
}
x = (c/x)*d
window.alert("LCM(" + c + "," + d + ") = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function sanheihou(){
a = window.prompt("底辺を入力してください","")
b = window.prompt("底辺 " + a + "高さを入力してください","")
x = a*a+b*b
x = Math.pow(x,1/2)
window.alert("底辺 " + a + " 高さ " + b + "\n" + "斜辺 " + x)

a = ""
b = ""
x = ""
}
function heron(){
a = window.prompt("1つ目を入力してください","")
b = window.prompt("2つ目を入力してください","")
c = window.prompt("3つ目を入力してください","")
s = (a*1+b*1+c*1)/2
x = s*(s-a)*(s-b)*(s-c)
x = Math.pow(x,1/2)
window.alert("辺の長さ" + a + "," + b + "," + c + "\n" + "三角形の面積 = " + x)
a = ""
b = ""
c = ""
s = ""
x = ""
}
function hukusosuunowa(){
a = window.prompt("足される数の実部を入力してください","")
b = window.prompt("(" + a + "\n" + "足される数の虚部を入力してください","")
c = window.prompt("(" + a + " + " + b + "i)" + "\n" + "足す数の実部を入力してください","")
d = window.prompt("(" + a + " + " + b + "i) + (" + c + "\n" + "足す数の虚部を入力してください","")
e = a*1 + c*1
f = b*1 + d*1
x = e + "+" + f + "i"
window.alert("(" + a + " + " + b + "i) + (" + c + " + " + d + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function hukusosuunosa(){
a = window.prompt("引かれる数の実部を入力してください","")
b = window.prompt("(" + a + "\n" + "引かれる数の虚部を入力してください","")
c = window.prompt("(" + a + " + " + b + "i)" + "\n" + "引く数の実部を入力してください","")
d = window.prompt("(" + a + " + " + b + "i) - (" + c + "\n" + "引く数の虚部を入力してください","")
e = a*1 - c*1
f = b*1 - d*1
x = e + "+" + f + "i"
window.alert("(" + a + " + " + b + "i) - (" + c + " + " + d + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function hukusosuunoseki(){
a = window.prompt("かけられる数の実部を入力してください","")
b = window.prompt("(" + a + "\n" + "かけられる数の虚部を入力してください","")
c = window.prompt("(" + a + " + " + b + "i)" + "\n" + "かける数の実部を入力してください","")
d = window.prompt("(" + a + " + " + b + "i) (" + c + "\n" + "かける数の虚部を入力してください","")
e = a*c - b*d
f = a*d + b*c
x = e + "+" + f + "i"
window.alert("(" + a + " + " + b + "i) (" + c + " + " + d + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function hukusosuunosyou(){
a = window.prompt("わられる数の実部を入力してください","")
b = window.prompt("(" + a + "\n" + "わられる数の虚部を入力してください","")
c = window.prompt("(" + a + " + " + b + "i)" + "\n" + "わる数の実部を入力してください","")
d = window.prompt("(" + a + " + " + b + "i)/(" + c + "\n" + "わる数の虚部を入力してください","")
g = a*c + b*d
e = g/(c*c+d*d)
h = b*c - a*d
f = h/(c*c+d*d)
i = c*c+d*d
y = g + "/" + i + " + " + h + "/" + i + "i"
x = e + "+" + f + "i"
window.alert("(" + a + " + " + b + "i)/(" + c + " + " + d + "i) = " + x + " (" + y + ")")
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function hukusosuunosisuu(){
a = window.prompt("実部の数を入力してください","")
if (a == ""){
a = 0
}
l = a
a = eval(a)
b = window.prompt("虚部の数を入力してください","")
if (b == ""){
b = 0
}
m = b
b = eval(b)
c = window.prompt("指数の実部を入力してください","")
if (c == ""){
c = 0
}
n = c
c = eval(c)
d = window.prompt("指数の虚部を入力してください","")
if (d == ""){
d = 0
}
o = d
d = eval(d)
e = Math.pow(a*a+b*b,1/2)
f = Math.log(e)
g = Math.atan2(b,a)
h = c*f - d*g
i = c*g + d*f
j = Math.exp(h) * Math.cos(i)
k = Math.exp(h) * Math.sin(i)
if (gosa == 0){
if (Math.abs(j) < 0.000000000001){
j = 0
}
if (Math.abs(Math.round(j)-j) < 0.00000000000005){
j = Math.round(j)
}
if (Math.abs(k) < 0.000000000001){
k = 0
}
if (Math.abs(Math.round(k)-k) < 0.00000000000005){
k = Math.round(k)
}
}
if (a == 0){
if (b == 0){
j = 0
k = 0
}
}
x = j + " + " + k + "i"
window.alert("(" + l + " + " + m + "i)^(" + n + " + " + o + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
k = ""
x = ""
}
function kaizyou(){
a = window.prompt("階乗にする自然数を入力してください","")
a = Math.floor(a);
if (a < 0){
a = 0
}
b = a
if (a >= 171){
a = 171
}
if (a == 0){
x = 1
} else {
x = 1
for(;;){
x = x * a
a = a - 1
if( a == 1 ) break;
}
}
window.alert(b + "! = " + x)
a = ""
b = ""
x = ""
}
function yakubun(){
a = window.prompt("分母を入力してください","")
a = Math.floor(Math.abs(a

*2:-1) * d)*Math.cos(c)-Math.exp(d)*Math.cos((-1) * c)
f = Math.exp((-1) * d)*Math.sin(c)-Math.exp(d)*Math.sin((-1) * c)
g = (-1)*e/2
h = f/2
x = h + "+" + g + "i"
window.alert("sin" + "(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
x = ""
}
function cosain(){
a = window.prompt("cosを求める数を入力してください","")
c = eval(a)
b = window.prompt("cosを求める数の虚部を入力してください","")
d = eval(b)
e = Math.exp((-1) * d)*Math.cos(c)/2+Math.exp(d)*Math.cos((-1) * c)/2
f = Math.exp((-1) * d)*Math.sin(c)/2+Math.exp(d)*Math.sin((-1) * c)/2
x = e + "+" + f + "i"
window.alert("cos" + "(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function tanzyento(){
a = window.prompt("tanを求める数の実部を入力してください","")
c = eval(a)
b = window.prompt("tanを求める数の虚部を入力してください","")
d = eval(b)
e = Math.exp((-1) * d)*Math.cos(c)-Math.exp(d)*Math.cos((-1) * c)
f = Math.exp((-1) * d)*Math.sin(c)-Math.exp(d)*Math.sin((-1) * c)
g = Math.exp((-1) * d)*Math.cos(c)+Math.exp(d)*Math.cos((-1) * c)
h = Math.exp((-1) * d)*Math.sin(c)+Math.exp(d)*Math.sin((-1) * c)
h = (-1) * h
i = (e*h+f*g)/(h*h+g*g)
j = (f*h-e*g)/(h*h+g*g)
x = i + "+" + j + "i"
window.alert("tan" + "(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
x = ""
}
function aksain(){
a = window.prompt("arcsinを求める数の実部を入力してください","")
x = Math.asin(a)/(Math.PI / 180)
window.alert("arcsin" + "(" + a + ") = " + x)
a = ""
x = ""
}
function akcosain(){
a = window.prompt("arccosを求める数を入力してください","")
x = Math.acos(a)/(Math.PI / 180)
window.alert("arccos" + "(" + a + ") = " + x)
a = ""
x = ""
}
function aktan(){
a = window.prompt("arctanを求める数を入力してください","")
x = Math.atan(a)/(Math.PI / 180)
window.alert("arctan" + "(" + a + ") = " + x)
a = ""
x = ""
}
function agr(){
a = window.prompt("実数部の数を入力してください","")
c = eval(a)
b = window.prompt("虚数部の数を入力してください","")
d = eval(b)
x = Math.atan2(d,c)/(Math.PI / 180)
window.alert("agr" + "(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function sisuukannsuu(){
a = window.prompt("指数関数の指数の部分の数を入力してください","")
b = eval(a)
x = Math.exp(b)
window.alert("e^" + a + " = " + x)
a = ""
b = ""
x = ""
}
function sigunaru(){
a = window.prompt("sgn関数に入れる数を入力してください","")
b = eval(a)
x = Math.abs(b)
x = b/x
if (a == 0){
x = 0
}
window.alert("sgn(" + a + ") = " + x)
a = ""
b = ""
x = ""
}
function oira(){
a = window.prompt("e^(iθ)のθに入れる数の実部を入力してください","")
d = eval(a)
f = window.prompt("e^(iθ)のθに入れる数の虚部を入力してください","")
e = eval(f)
b = Math.exp((-1)*e) * Math.cos(d)
c = Math.exp((-1)*e) * Math.sin(d)
x = b + "+" + c + "i"
window.alert("e^(i(" + a + "+" + f + "i

*3:f-e)/x,c)
y = y + " (" + z + "/" + w + ")"
window.alert("1-(1-" + e + "/" + f + ")^" + c + " = " + y)
}
function ransuu(){
a = window.prompt("乱数の最小値を入力してください","")
a = Math.floor(a)
b = window.prompt("乱数の最大値を入力してください","")
b = Math.floor(b)
x = Math.floor( Math.random() * (b - a) ) + a*1
window.alert(a + "~" + b + "までの乱数" + "\n" + x)
a = ""
b = ""
x = ""
}
function rogu(){
a = window.prompt("logの底を入力してください","")
b = window.prompt("logに入れる数を入力してください","")
x = Math.log(b)/Math.log(a)
window.alert("log(" + a + "," + b + ") = " + x)
a = ""
b = ""
x = ""
}
function logu(){
a = window.prompt("Logに入れる数の実部を入力してください","")
b = window.prompt("Logに入れる数の虚部を入力してください","")
c = Math.pow(a*a+b*b,1/2)
d = Math.log(c)
e = Math.atan2(b,a)
x = d + "+" + e + "i"
window.alert("Log(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
}
function bureitosyunaida(){
a = window.prompt("辺Aの長さを入力してください","")
b = window.prompt("辺Bの長さを入力してください","")
c = window.prompt("辺Cの長さを入力してください","")
d = window.prompt("辺Dの長さを入力してください","")
e = window.prompt("A,Bの間の角を入力してください","")
f = window.prompt("C,Dの間の角を入力してください","")
g = (a*1 + b*1 + c*1 + d*1)/2
h = a*b*c*d*Math.cos((e*1 + f*1)/2)*Math.cos((e*1 + f*1)/2 * (Math.PI / 180

*4:-1)*y+Math.pow(m,1/2

*5:-1)*y-Math.pow(m,1/2

*6:a-c)*(a-c)+(b-d)*(b-d),1/2)
window.alert("(" + a + "," + b + ")と(" + c + "," + d + ")の距離\n" + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function tyokusentotennokyori(){
x = window.prompt("点のx座標を入力してください","")
y = window.prompt("点のy座標を入力してください","")
z = window.prompt("点のz座標を入力してください","")
a = window.prompt("直線(or平面)の式のxの係数を入力してください","")
b = window.prompt("直線(or平面)の式のyの係数を入力してください","")
c = window.prompt("直線(or平面)の式のyの係数を入力してください","")
d = window.prompt("直線(or平面)の式の定数項を入力してください","")
e = (Math.abs(a*x+b*y+c*z+1*d

*7:a*a+b*b)*(c*c+d*d),1/2

*8:b*1+c*1)/180*Math.PI)
window.alert("辺 = " + a + "\n" + "間の角 = " + b + " , " + c + "\n" + "面積 = " + s)
a = ""
b = ""
c = ""
s = ""
}
function fibontti(){
a = window.prompt("F_nのnを入力してください","")
x = (Math.pow((1+Math.pow(5,1/2

*9:1-Math.pow(5,1/2

*10:b*b+c*c-a*a)/(2*b*c

*11:c*c+a*a-b*b)/(2*c*a

*12:a*a+b*b-c*c)/(2*a*b

*13:gcdsub = gcd1 % gcd2) != 0) {
gcd1 = gcd2;
gcd2 = gcdsub;
}

return gcd2;
}
function Faulhaber(){
numerator = window.prompt("分子の配列を入力してください\nex)1/2*n^2+1/2*n → [0,1,1]と[1,2,2](昇べきの順)", "")
denominator = window.prompt("分母の配列を入力してください", "")
numerator = eval(numerator)
denominator = eval(denominator)
t = 0
for(;t == 0;){

m = numerator.length-1
i = 1
for(;i <= m;i++){
n = numerator[i]*m
d = denominator[i]*(i*1+1)
if(n == 0){
n = 0
d = 1
} else {
g = gcd(Math.abs(n),Math.abs(d

test

<!DOCTYPE html>
<html>
<script>
gosa = 0
var MathW
function itizi(){
a = window.prompt("左辺の一次の項を入力してください", "");
b = window.prompt("左辺の0次の項を入力してください" + "\n" + a + "x", "");
c = window.prompt("右辺の一次の項を入力してください" + "\n" + a + "x + " + b, "");
d = window.prompt("右辺の0次の項を入力してください" + "\n" + a + "x + " + b + " = " + c + "x", "");
x = (d-b)/(a-c)
e = d-b
f = a-c
if (f < 0){
e = (-1) * e
f = (-1) * f
}
e = e + "/" + f
g = a*x
g = g*1+b*1
h = c*x
h = h*1+d*1
window.alert(a + "x + " + b + " = " + c + "x + " + d + "\n" +"x=" + x + " (" + e + ")" + "\n" + g + " = " + h)
a = "";
b = "";
c = "";
d = "";
e = "";
f = "";
g = "";
h = "";
x = "";
}
function nizi(){
a = window.prompt("二次の項を入力してください", "");
d = window.prompt("一次の項を入力してください" + "\n" + a + "x²", "");
b = d
c = window.prompt("0次の項を入力してください" + "\n" + a + "x² + " + d + "x", "")
e = b*b-4*a*c
m = (-1)*b/(2*a)
l = (-1)*(b*b-4*a*c)/(4*a)
if (e >= 0){
f = 1
} else {
f = (-1)
}
e = Math.abs(e)
j = 2*a
e = e + "/" + j
g = b + "/" + j
if (f == 1){
h = g + "+√" + e
i = g + "-√" + e
} else {
h = g + "+√" + e + "i"
i = g + "-√" + e + "i"
}
if (b*b-4*a*c >= 0) {
x = (b*1+(Math.sqrt(b*b-4*a*c)))/(2*a);
y = (b-(Math.sqrt(b*b-4*a*c)))/(2*a);
window.alert(a + "x²+" + d + "x+" + c + " = 0" + "\n" + "x₁=" + x + " (" + h + ")" + "\n" + "x₂=" + y + " (" + i + ")" + "\n最大値,最小値(" + m + "," + l + ")");
}
if (b*b-4*a*c < 0) {
x = b/(2*a)
s = (Math.sqrt(Math.abs(b*b-4*a*c)))/(2*a);
s = "+" + s + "i";
s = x + s
z = b/(2*a)
k = (Math.sqrt(Math.abs(b*b-4*a*c)))/(2*a);
k = "-" + k + "i";
y = z + k;
window.alert(a + "x²+" + d + "x+" + c + " = 0" + "\n" + "x₁=" + s + " (" + h + ")" + "\n" + "x₂=" + y + " (" + i + ")" + "\n最大値,最小値(" + m + "," + l + ")");
}
s = "";
k = "";
z = "";
y = "";
x = "";
a = "";
b = "";
c = "";
r = "";
d = "";
e = "";
f = "";
g = "";
h = "";
i = "";
j = "";
}
function watoseki(){
a = window.prompt("和を入力してください","");
h = a*a/4
b = window.prompt("A+B=" + a + " (A,B∈R⇔AB=" + h + ")" + "\n" + "積を入力してください","");
e = ""
s = a/2
k = (a*a/4)-b
if (k >= 0) {
z=Math.pow(k,1/2)
x = s + z
y = s - z
f = x * 1 + y * 1
g = x * y
e = "\n" + "A+B=" + f + " AB=" + g
}
if (k < 0) {
z=Math.pow(Math.abs(k),1/2)
x = s + "+" + z + "i"
y = s + "+" + z + "i"
}
c = a/2
d = a*a/4-b
d = "√" + d
window.alert("A+B=" + a + " AB=" + b + "\n" + "A=" + x + " (" + c + "+" + d + ")" + "\n" + "B=" + y + " (" + c + "-" + d + ")" + e)
a = "";
b = "";
x = "";
y = "";
s = "";
z = "";
k = "";
c = "";
d = "";
e = "";
f = "";
g = "";
h = "";
}
function itizyou(){
n = window.prompt("1+2+3+...+n" + "\n" + "nに自然数を入れてください","");
if (n < 1) {
n = 1;
}
n = Math.floor(n)
if (n % 2 == 0) {
x = n/2;
x = x*(n+1);
} else {
x = (n+1)/2;
x = x*n;
}
window.alert("1~" + n + "までの和 = " + x)
x = "";
n = "";
}
function nizyou(){
n = window.prompt("1²+2²+3²+...+n²" + "\n" + "nに自然数を入れてください","");
if (n < 1) {
n = 1;
}
n = Math.floor(n)
if (n % 3 == 0) {
x = n/3;
if (n % 2 == 0){
x = x / 2;
x = x*(2*n+1)*(n+1);
} else {
x = (n+1)/2*x;
x = (2*n+1)*x;
}
} else if *1
if (a < 1){
a = 1
}
c = a
b = window.prompt("分子を入力してください","")
b = Math.floor(Math.abs(b))
if (b < 1){
b = 1
}
d = b
for(;;){
b = b % a
if( b == 0 ) break;
a = a % b
if( a == 0 ) break;
}
if (a == 0){
x = b
} else {
x = a
}
a = c
b = d
c = c / x
d = d / x
window.alert(b + "/" + a + " = " + d + "/" + c)
}
function suusiki(){
a = window.prompt("加法減法乗法除法の式を入力してください","")
if (a !== "Math"){
x = eval(a)
} else {
window.alert("Math.abs(x)=|x|\nMath.floor(x)=[x]\nMath.PI=π\nMath.E=e\nMath.sqrt(x)=√x\nMath.log(x) = log(x)\nMath.pow(x,y)=x^y\nMath.atan(y,x)=agr(x+yi)\nMath.exp(x)=e^x")
}
if (a == "gosa"){
gosa = (gosa + 1) % 2
}
window.alert(a + " = " + x)
a = ""
x = ""
}
function daisyou(){
a = window.prompt("1つ目の数を入力してください","")
b = window.prompt("2つ目の数を入力してください","")
c = eval(a)
d = eval(b)
if (c == d){
window.alert(a + " = " + b)
} else if (c < d){
window.alert(a + " < " + b)
} else if (c > d){
window.alert(a + " > " + b)
}
}
function burakkubokkusu(){
a = window.prompt("1つ目の数を入力してください","")
b = window.prompt("2つ目の数を入力してください","")
x = a ^ b
window.alert(a + " xor " + b + " = " + x)
a = ""
b = ""
x = ""
}
function sain(){
a = window.prompt("sinを求める数の実部を入力してください","")
c = eval(a)
b = window.prompt("sinを求める数の虚部を入力してください","")
d = eval(b)
e = Math.exp*2 = " + x)
}
function kakuritu(){
a = window.prompt("xに入れる数を入力してください","")
e = a
b = window.prompt("yに入れる数を入力してください","")
f = b
c = window.prompt("zに入れる数を入力してください","")
a = Math.floor(a);
if (a < 1){
a = 1
}
b = Math.floor(b);
if (b < 1){
b = 1
}
for(;;){
b = b % a
if( b == 0 ) break;
a = a % b
if( a == 0 ) break;
}
if (a == 0){
x = b
} else {
x = a
}
g = e/x
y = f/x
y = Math.pow(1-g/y,c)
y = 1 - y
w = Math.pow(f/x,c)
z = w - Math.pow*3
i = (g-a)*(g-b)*(g-c)*(g-d)
x = Math.pow(i-h,1/2)
j = a*b*c*d
k = (e*1 + f*1)/2
window.alert("辺A = " + a + "\n" + "辺B =" + b + "\n" + "辺C = " + c + "\n" + "辺D = " + d + "\n" + "角AB = " + e + "\n" + "角CD = " + f + "\n" + "面積 = " + x + "\n" + "(√" + i + "-" + j + "cos²" + k + ")")
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
k = ""
}
function seisankanukei(){
a = window.prompt("一辺の長さを入力してください","")
c = a
a = eval(a)
x = a*a*Math.pow(3,1/2)/4
b = a*a
y = b + "√3/4"
window.alert("一辺 = " + c + "\n" + "面積 = " + x + "\n"+ "(" + y + ")")
a = ""
b = ""
c = ""
x = ""
y = ""
}
function nihensonokaku(){
a = window.prompt("一辺の長さを入力してください","")
b = window.prompt("もう一辺の長さを入力してください","")
c = window.prompt("間の角を入力してください","")
x = a*b*Math.sin(c * (Math.PI / 180))/2
d = a*b/2
y = d + "sin" + c
window.alert("辺 = " + a + "," + b + "\n" + "間の角 = " + c + "\n" + "面積 = " + x + "\n" + "(" + y + ")")
a = ""
b = ""
c = ""
d = ""
x = ""
y = ""
}
function ritunogoukei(){
a = window.prompt("xを入力してください","")
c = eval(a)
b = window.prompt("yを入力してください","")
d = eval(b)
x = 1-Math.pow(1-d,1/c)
window.alert("1-(1-" + b + ")^(1/" + a + ") = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function zyunnkannsyousuu(){
a = window.prompt("循環しているところを入力してください","")
a = Math.floor(a)
b = Math.floor(Math.log(a)/Math.log(10))
x = Math.pow(10,b+1)-1
if (a < 1){
a = 1
}
if (x < 1){
x = 1
}
c = a
d = x
for(;;){
x = x % a
if( x == 0 ) break;
a = a % x
if( a == 0 ) break;
}
if (a == 0){
y = x
} else {
y = a
}
a = c/y
x = d/y
if (x == 1){
x = a
} else {
x = a + "/" + x
}
window.alert("0." + c + "... = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
y = ""
}
function ritunannkai(){
a = window.prompt("xを入力してください","")
c = eval(a)
b = window.prompt("yを入力してください","")
d = eval(b)
x = Math.log(1-c)/Math.log(1-d)
window.alert("log(1-" + a + ")/log(1-" + b + ") = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function dainyuu(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("xを入力してください","")
x = eval(b)
y = eval(a)
window.alert(a + "\nx = " + b + "\n" + y)
a = ""
b = ""
x = ""
y = ""
}
function bibunn(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("xを入力してください","")
y = eval(b)
c = window.prompt("εの係数を入力してください\n(推奨 100)","")
if (c == ""){
c = 1
}
x = y + c * Number.EPSILON
d = eval(a)
x = y - c * Number.EPSILON
e = eval(a)
x = y + 2 * c * Number.EPSILON
f = eval(a)
x = y - 2 * c * Number.EPSILON
g = eval(a)
x = y
h = (d - eval(a))/(c*Number.EPSILON)
i = (d - e)/(2*c*Number.EPSILON)
z = (1 * g - 8 * e + 8 * d - 1 * f)/(c * 12 * Number.EPSILON)
window.alert(a + "\nx = " + b + "\nεの倍率 " + c + "\n二点近似 " + h + "\n三点近似 " + i + "\n五点近似 " + z)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
x = ""
y = ""
z = ""
}
function itizikai(){
a = window.prompt("右辺を入力してください (ただし変数はxとします)","")
b = window.prompt("左辺を入力してください (ただし変数はxとします)","")
x = 0
c = eval(a)
d = eval(b)
x = 1
e = c - eval(a)
f = d - eval(b)
x = (d-c)/(f-e)
g = eval(a)
h = eval(b)
window.alert(a + " = " + b + "\nx = " + x + "\n" + g + " = " + h)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
x = ""
}
function kyokugenn(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
x = window.prompt("xを近付ける数を入力してください","")
z = x
b = window.prompt("εの係数を入力してください","")
x = eval(x)*1 + b*Number.EPSILON
y = eval(a)
window.alert("εの係数 " + b + "\n" + "lim x→" + z + " " + a + " = " + y)
a = ""
b = ""
x = ""
y = ""
z = ""
}
function tousazenkasiki(){
a = window.prompt("a₁=","")
b = window.prompt("a₁=" + a + "\n" + "aₓ₊₁ =","")
x = a + "+" + b + "(x-1)"
window.alert("aₓ = " + x)
}
function touhizenkasiki(){
a = window.prompt("a₁=","")
b = window.prompt("a₁=" + a + "\n" + "aₓ₊₁ =","")
x = a + "*" + b + "ˣ⁻¹"
window.alert("aₓ = " + x)
}
function tokuseizenkasiki(){
a = window.prompt("a₁=","")
b = window.prompt("a₁=" + a + "\n" + "aₓ₊₁ =","")
c = window.prompt("a₁=" + a + "\n" + "aₓ₊₁ = " + b + "aₓ+","")
e = c/(1-b)
d = a - e
x = d + "*" + b + "ˣ⁻¹+" + e
y = "(" + a + "-" + c + "/(" + b + "-1)" + ")" + b + "ˣ⁻¹+" + c + "/(" + b + "-1)"
window.alert("aₓ = " + x + " (" + y + ")")
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
}
function myuutonhou(){
a = window.prompt("方程式を入力してください (ただし変数はxとします)","")
b = window.prompt("導関数を入力してください (ただし変数はxとします)","")
c = window.prompt("ループ回数を入力してください","")
x = window.prompt("初期値を入力してください","")
x = eval(x)
for( var i = 0; i < c ; i++){
if( eval(a) == 0 ) break
x = x - eval(a)/eval(b)
}
d = eval(a)
window.alert(a + " = 0\n(" + a + ")´ = " + b + "\nx = " + x + "\n" + a + " = " + d)
a = ""
b = ""
c = ""
d = ""
i = ""
x = ""
}
function santennmyuuton(){
a = window.prompt("方程式を入力してください (ただし変数はxとします)","")
b = window.prompt("εの係数を入力してください","")
c = window.prompt("ループ回数を入力してください","")
x = window.prompt("初期値を入力してください","")
x = eval(x)
for( var i = 0; i < c ; i++){
if( eval(a) == 0 ) break
y = x
x = y + b * Number.EPSILON
d = eval(a)
x = y - b * Number.EPSILON
e = eval(a)
x = y
f = (d-e)/(2*b*Number.EPSILON)
x = x - eval(a)/f
}
g = eval(a)
window.alert(a + " = 0\nx = " + x + "\n" + a + " = " + g)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
i = ""
x = ""
y = ""
}
function gotennmyuuton(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("εの係数を入力してください","")
c = window.prompt("ループ回数を入力してください","")
x = window.prompt("初期値を入力してください","")
x = eval(x)
for( var i = 0; i < c ; i++){
if( eval(a) == 0 ) break
y = x
x = y + b * Number.EPSILON
d = eval(a)
x = y - b * Number.EPSILON
e = eval(a)
x = y + 2 * b * Number.EPSILON
f = eval(a)
x = y - 2 * b * Number.EPSILON
g = eval(a)
x = y
h =(g-8*e+8*d-f)/(12*b*Number.EPSILON)
x = x - eval(a)/h
}
j = eval(a)
window.alert(a + " = 0\nx = " + x + "\n" + a + " = " + j)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
x = ""
y = ""
}
function sekibunn(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("εの係数の10の指数を入力してください","")
b = eval(b)
c = window.prompt("積分範囲を入力してください (下限)","")
f = c
c = eval(c)
d = window.prompt("積分範囲を入力してください (上限)","")
g = d
d = eval(d)
y = 1
if (c > d){
y = c
c = d
d = y
y = -1
} else if (c == d){
y = 0
}
x = c
e = 0
for ( var i = c;i <= d;i = i + Math.pow(10,b) * Number.EPSILON) {
x = i
e = e + eval(a)*Math.pow(10,b)*Number.EPSILON
}
e = e * y
window.alert("∫(" + a + "," + f + "," + g + ") = " + e)
}
function pii(){
a = window.prompt("nを入力してください","")
a = Math.floor(Math.abs(a))
b = window.prompt("rを入力してください","")
b = Math.floor(Math.abs(b))
if (a < b){
y = a
a = b
b = y
y = ""
}
x = 1
for( var i = a;i >= a - b + 1 ; i-- ){
x = x * i
}
window.alert(a + "P" + b + " = " + x)
a = ""
b = ""
x = ""
i = ""
}
function cii(){
a = window.prompt("nを入力してください","")
a = Math.floor(Math.abs(a))
b = window.prompt("rを入力してください","")
b = Math.floor(Math.abs(b))
if (a < b){
y = a
a = b
b = y
y = ""
}
x = 1
for( var i = a;i >= a - b + 1 ; i-- ){
x = x * i
}
for (i = 1;i <= b;i++){
x = x / i
}
window.alert(a + "C" + b + " = " + x)
a = ""
b = ""
i = ""
x = ""
}
function siguma(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("範囲を入力してください (下限)","")
c = window.prompt("範囲を入力してください (上限)","")
if (c < b){
y = c
c = b
b = y
y = ""
}
x = 0
e = 0
for ( var i = b;i <= c;i++){
x = i
d = eval(a)
e = e*1 + d*1
}
window.alert("Σ(" + a + ",x=" + b + "," + c + ") = " + e)
a = ""
b = ""
c = ""
s = ""
x = ""
i = ""
}
function pai(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("範囲を入力してください (下限)","")
c = window.prompt("範囲を入力してください (上限)","")
if (c < b){
y = c
c = b
b = y
y = ""
}
x = 0
e = 1
for ( var i = b;i <= c;i++){
x = i
d = eval(a)
e = e * d
}
window.alert("Π(" + a + ",x=" + b + "," + c + ") = " + e)
a = ""
b = ""
c = ""
s = ""
x = ""
i = ""
}
function nizihoutesikinosanten(){
a = window.prompt("一つ目の点のx座標を入力してください","")
b = window.prompt("一つ目の点のy座標を入力してください","")
c = window.prompt("二つ目の点のx座標を入力してください","")
d = window.prompt("二つ目の点のy座標を入力してください","")
g = window.prompt("三つ目の点のx座標を入力してください","")
f = window.prompt("三つ目の点のy座標を入力してください","")
v = 1
v = window.prompt("初速を入力してください","")
x = (d*g+b*(c-g)+a*(f-d)-c*f)/(a*(g*g-c*c)-c*g*g+c*c*g+a*a*(c-g))
y = (-1)*(d*g*g+b*(c*c-g*g)+a*a*(f-d)-c*c*f)/(a*(g*g-c*c)-c*g*g+c*c*g+a*a*(c-g))
z = (a*(d*g*g-c*c*f)+b*(c*c*g-c*g*g)+a*a*(c*f-d*g))/(a*(g*g-c*c)-c*g*g+c*c*g+a*a*(c-g))
m = y*y-4*x*z
D = m
t1 = ""
t2 = ""
if (m >= 0){
t1 = *4/(2*x)
t2 = *5/(2*x)
}
p = (-2)*x/9.80665
s = Math.asin(y/v)*180/Math.PI
k1 = (t1)*Math.pow(v*v-y*y,1/2)
k2 = (t2)*Math.pow(v*v-y*y,1/2)
window.alert("A("+ a + "," + b +")\nB(" + c + "," + d + ")\nC(" + g + "," + f + ")\nv = " + v + "\n" + x + "x²+" + y + "x+" + z + "\n" + "⇔x = " + t1 + "," + t2 + "\n" + "D = " + D + "\nθ = " + s + "\n重力比 " + p + "\n" + t1 + "→(" + k1 + ",0)\n" + t2 + "→(" + k2 + ",0)")
a = ""
b = ""
c = ""
d = ""
g = ""
f = ""
x = ""
y = ""
z = ""
v = ""
k1 = ""
k2 = ""
t1 = ""
t2 = ""
s = ""
D = ""
m = ""
p = ""
}
function sangenrenritu(){
a = window.prompt("一つ目の式のxを入力してください","")
b = window.prompt("一つ目の式のyを入力してください","")
c = window.prompt("一つ目の式のzを入力してください","")
d = window.prompt("一つ目の式の答えを入力してください","")
e = window.prompt("二つ目の式のxを入力してください","")
f = window.prompt("二つ目の式のyを入力してください","")
g = window.prompt("二つ目の式のzを入力してください","")
h = window.prompt("二つ目の式の答えを入力してください","")
i = window.prompt("三つ目の式のxを入力してください","")
j = window.prompt("三つ目の式のyを入力してください","")
k = window.prompt("三つ目の式のzを入力してください","")
l = window.prompt("三つ目の式の答えを入力してください","")
x = (b*(h*k-g*l)+c*(f*l-h*j)+d*(g*j-f*k))/(a*(g*j-f*k)+b*(e*k-g*i)+c*(f*i-e*j))
y = (a*(h*k-g*l)+c*(e*l-h*i)+d*(g*i-e*k))/(a*(g*j-f*k)+b*(e*k-g*i)+c*(f*i-e*j))*(-1)
z = (a*(h*j-f*l)+b*(e*l-h*i)+d*(f*i-e*j))/(a*(g*j-f*k)+b*(e*k-g*i)+c*(f*i-e*j))
window.alert(a + "x+" + b + "y+" + c + "z = " + d + "\n" + e + "x+" + f + "y+" + g + "z = " + h +"\n" + i + "x+" + j + "y+" + k + "z = " + l + "\n" + "x = " + x + "\ny = " + y + "\nz = " + z)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
k = ""
l = ""
}
function yongenrenritu(){
a = window.prompt("一つ目の式のxを入力してください","")
b = window.prompt("一つ目の式のyを入力してください","")
c = window.prompt("一つ目の式のzを入力してください","")
d = window.prompt("一つ目の式のwを入力してください","")
e = window.prompt("一つ目の式の答えを入力してください","")
f = window.prompt("二つ目の式のxを入力してください","")
g = window.prompt("二つ目の式のyを入力してください","")
h = window.prompt("二つ目の式のzを入力してください","")
i = window.prompt("二つ目の式のwを入力してください","")
j = window.prompt("二つ目の式の答えを入力してください","")
k = window.prompt("三つ目の式のxを入力してください","")
l = window.prompt("三つ目の式のyを入力してください","")
n = window.prompt("三つ目の式のzを入力してください","")
m = window.prompt("三つ目の式のwを入力してください","")
o = window.prompt("三つ目の式の答えを入力してください","")
p = window.prompt("四つ目の式のxを入力してください","")
q = window.prompt("四つ目の式のyを入力してください","")
r = window.prompt("四つ目の式のzを入力してください","")
s = window.prompt("四つ目の式のwを入力してください","")
t = window.prompt("四つ目の式の答えを入力してください","")
x = (d*(g*(n*t-o*r)+h*(o*q-l*t)+j*(l*r-n*q))+b*(i*(o*r-n*t)+h*(m*t-o*s)+j*(n*s-m*r))+c*(g*(o*s-m*t)+i*(l*t-o*q)+j*(m*q-l*s))+e*(g*(m*r-n*s)+h*(l*s-m*q)+i*(n*q-l*r)))/(a*(g*(n*s-m*r)+h*(m*q-l*s)+i*(l*r-n*q))+b*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r))+c*(f*(l*s-m*q)+g*(m*p-k*s)+i*(k*q-l*p))+d*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))*(-1)
y = (d*(f*(n*t-o*r)+h*(o*p-k*t)+j*(k*r-n*p))+a*(i*(o*r-n*t)+h*(m*t-o*s)+j*(n*s-m*r))+c*(f*(o*s-m*t)+i*(k*t-o*p)+j*(m*p-k*s))+e*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r)))/(a*(g*(n*s-m*r)+h*(m*q-l*s)+i*(l*r-n*q))+b*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r))+c*(f*(l*s-m*q)+g*(m*p-k*s)+i*(k*q-l*p))+d*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))
z = (a*(g*(m*t-o*s)+i*(o*q-l*t)+j*(l*s-m*q))+b*(f*(o*s-m*t)+i*(k*t-o*p)+j*(m*p-k*s))+d*(f*(l*t-o*q)+g*(o*p-k*t)+j*(k*q-l*p))+e*(f*(m*q-l*s)+g*(k*s-m*p)+i*(l*p-k*q)))/(a*(g*(n*s-m*r)+h*(m*q-l*s)+i*(l*r-n*q))+b*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r))+c*(f*(l*s-m*q)+g*(m*p-k*s)+i*(k*q-l*p))+d*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))*(-1)
w = (a*(g*(n*t-o*r)+h*(o*q-l*t)+j*(l*r-n*q))+b*(f*(o*r-n*t)+h*(k*t-o*p)+j*(n*p-k*r))+c*(f*(l*t-o*q)+g*(o*p-k*t)+j*(k*q-l*p))+e*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))/(a*(g*(n*s-m*r)+h*(m*q-l*s)+i*(l*r-n*q))+b*(f*(m*r-n*s)+h*(k*s-m*p)+i*(n*p-k*r))+c*(f*(l*s-m*q)+g*(m*p-k*s)+i*(k*q-l*p))+d*(f*(n*q-l*r)+g*(k*r-n*p)+h*(l*p-k*q)))
window.alert(a + "x+" + b + "y+" + c + "z+" + d + "w=" + e + "\n" + f + "x+" + g + "y+" + h + "z+" + i + "w = " + j + "\n" + k + "x+" + l + "y+" + n + "z+" + m + "w = " + o + "\n" + p + "x+" + q + "y+" + r + "z+" + s + "w = " + t + "\nx = " + x + "\ny = " + y + "\nz = " + z + "\nw = " + w)
}
function heikinn(){
b = 0
c = ""
d = 1
e = 0
f = 0
g = 0
h = 0
j = 0
l = ""
n = ""
for (var i = 1;;i++){
a = window.prompt("数を入力してください (" + i + "回目)","")
if( a == "" ) break
c = c + a + ","
if (l == ""){
l = a
} else if (eval(l) < eval(a)){
l = a
}
if (n == ""){
n = a
} else if (eval(n) > eval(a)){
n = a
}
a = eval(a)
j = j*1 + a*a
b = b*1 + a*1
d = d * a
e = e*1 + 1 / a
if (a > 0){
f = f*1 + 1
} else if (a < 0){
g = g*1 +1
} else if (a == 0){
h = h*1 + 1
}
}
i = i - 1
b = b / i
d = Math.pow(d,1/i)
e = i / e
j = j/i - b*b
k = Math.pow(j,1/2)
window.alert(c + " (" + i + "個)\n正の数 = " + f + "\n負の数 = " + g + "\n0の数 = " + h + "\n相加平均 = " + b + "\n相乗平均 = " + d + "\n調和平均 = " + e + "\n分散 = " + j + "\n標準偏差 = " + k + "\n最大値 = " + l + "\n最小値 = " + n)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
j = ""
k = ""
l = ""
n = ""
i = ""
}
function nikaibibun(){
a = window.prompt("式を入力してください (ただし変数はxとします)","")
b = window.prompt("εの係数を入力してください (推奨 100)","")
b = b * 0.0000001
c = window.prompt("xを入力してください","")
x = Number(c)
y = x
x = Number(y) + b
d = eval(a)
x = y
e = eval(a)
x = y - b
f = eval(a)
g = (d-2*e+f)/(b*b)
window.alert("(" + a + ")´´ = " + g)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
x = ""
y = ""
}
function soinnsuubunnkai(){
a = window.prompt("自然数を入力してください","")
f = 1
e = a
b = Math.pow(a,1/2)
c = 0
d = ""
for (;a != 1&&c == 0;){
c = a % 2
if (c == 0){
d = d + "2,"
f = f * 2
a = a/2
}
}
for (var i = 3;a != 1&&i <= b;){
c = Number(a) % Number(i)
if (c == 0){
d = d + "" + i + ","
a = a/i
f = f * i
} else {
i = Number(i) + 2
}
}
if (a != 1){
d = d + "" + a + ","
f = f * a
}
window.alert(e + "の素因数分解 \n" + d + "\n積 = " + f)
if (d == e + ","){
window.alert(e + "は素数です")
MathP = e
} else {
window.alert(e + "は合成数です")
}
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
i = ""
}
function yakusuukannsuu(){
a = window.prompt("自然数を入力してください","")
e = window.prompt("何乗するかをを入力してください","")
f = 0
b = a/2
d = Math.pow(a,e)
for (var i = 1;i<=b;i++){
c = a % i
if (c == 0){
d = Number(d) + Number(Math.pow(i,e))
}
}
window.alert("σ(" + e + "," + a + ") = " + d)
a = ""
b = ""
c = ""
d = ""
i = ""
}
function ranberuto(){
x = window.prompt("引数を入力してください (-e⁻¹≦x≦∞)","")
w = eval(x)
y = x
x = eval(x)
for (var i = 1;;i++) {
if( Math.abs(x*Math.pow(Math.E,x)-w) < 0.000000001 && i > 10000) break
x = (Number(x*x)+Number(w*Math.pow(Math.E,(-1)*x)))/(Number(x)+Number(1))
}
z = x*Math.pow(Math.E,x)
i = eval(y)
window.alert("x = " + i + "\nW(" + y + ") = " + x + "\nxe^x = " + z)
MathW = x
if (y == ""){
MathW = ""
}
i = ""
y = ""
z = ""
x = ""
w = ""
}
function saisyouzizyouhou(){
m = ""
c = 0
d = 0
e = 0
f = 0
for (var i = 1;;i++){
a = window.prompt("xを入力してください (" + i + "回目)","")
if( a == "" ) break
m = m + "(" + a
a = eval(a)
c = Number(c) + Number(a * a)
d = Number(d) + Number(a)
b = window.prompt("yを入力してください (" + i + "回目)","")
m = m + "," + b + "),"
b = eval(b)
e = Number(e) + Number(a*b)
f = Number(f) + Number(b)
}
i = i - 1
c = c/i
g = d/i
e = e/i
h = f/i
f = (f/i)*(g)
d = g*g
x = (e-f)/(c-d)
y = h-x*g
m = m + " (" + i + "個)"
window.alert(m + "\n" + x + "x+" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
n = ""
m = ""
x = ""
y = ""
}
function zikantasizan(){
a = window.prompt("足される数の分数を入力してください","")
b = window.prompt("足される数の秒数を入力してください","")
c = window.prompt("足す数の分数を入力してください","")
d = window.prompt("足す数の秒数を入力してください","")
e = a*60+b*1+c*60+d*1
y = e%60
x = (e-y)/60
window.alert(a + ":" + b + " + " + c + ":" + d + " = " + x + ":" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
}
function zikanhukizan(){
a = window.prompt("引かれる数の分数を入力してください","")
b = window.prompt("引かれる数の秒数を入力してください","")
c = window.prompt("引く数の分数を入力してください","")
d = window.prompt("引く数の秒数を入力してください","")
e = a*60+b*1-c*60-d*1
s = Math.sign(e)
e = Math.abs(e)
y = e%60
x = (e-y)/60
if (s == 1){
s = "+"
} else if (s == -1){
s = "-"
} else {
s = ""
}
window.alert(a + ":" + b + " - " + c + ":" + d + " = " + s + x + ":" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
s = ""
x = ""
y = ""
}
function zikanwarizan(){
a = window.prompt("割られる数の分数を入力してください","")
b = window.prompt("割られる数の秒数を入力してください","")
c = window.prompt("割る数を入力してください","")
e = (a*60+b*1)/c
y = e%60
x = (e-y)/60
window.alert(a + ":" + b + " ÷ " + c + " = " + x + ":" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
}
function zikankakezan(){
a = window.prompt("かけられる数の分数を入力してください","")
b = window.prompt("かけられる数の秒数を入力してください","")
c = window.prompt("かける数を入力してください","")
e = (a*60+b*1)*c
y = e%60
x = (e-y)/60
window.alert(a + ":" + b + " × " + c + " = " + x + ":" + y)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
}
function sosuuteiri(){
a = window.prompt("自然数を入力してください","")
x = a/Math.log(a)
window.alert("π(" + a + ") = " + x)
a = ""
x = ""
}
function nitenkannokyori(){
a = window.prompt("一つ目の点のx座標を入力してください","")
b = window.prompt("一つ目の点のy座標を入力してください","")
c = window.prompt("二つ目の点のx座標を入力してください","")
d = window.prompt("二つ目の点のy座標を入力してください","")
x = Math.pow*6/(Math.pow(a*a+b*b+c*c,1/2))
window.alert("(" + x + "," + y + "," + z + ")と " + a + "x + " + b + "y + " + c + "z + " + d + " = 0の距離\n" + e)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
y = ""
z = ""
}
function bekutorunonaiseki(){
a = window.prompt("一つ目のベクトルのx成分を入力してください","")
b = window.prompt("一つ目のベクトルのy成分を入力してください","")
c = window.prompt("二つ目のベクトルのx成分を入力してください","")
d = window.prompt("二つ目のベクトルのy成分を入力してください","")
n = a*c+b*d
k = n/(Math.pow*7
s = Math.acos(k)*180/Math.PI
window.alert("(" + a + "," + b + "),(" + c + "," + d + ")\n内積 " + n + "\nなす角 " + s + "\ncos(θ) " + k)
a = ""
b = ""
c = ""
d = ""
n = ""
k = ""
s = ""
}
function sankakukeinokakudo(){
a = window.prompt("一辺の長さを入力してください","")
b = window.prompt("間の角を入力してください","")
c = window.prompt("もう一つの間の角を入力してください","")
s =a*a*Math.sin(b/180*Math.PI)*Math.sin(c/180*Math.PI)/2/Math.sin*8/2,a)-Math.pow*9/2,a))/Math.pow(5,1/2)
x = Math.round(x)
window.alert(x)
a = ""
x = ""
}
function sannkakukeinohen(){
a = window.prompt("辺aの長さを入力してください","")
a = eval(a)
b = window.prompt("辺bの長さを入力してください","")
b = eval(b)
c = window.prompt("辺cの長さを入力してください","")
c = eval(c)
s = (a*1+b*1+c*1)/2
S = Math.pow(s*(s-a)*(s-b)*(s-c),1/2)
S2 = 2*(a*a*b*b+b*b*c*c+c*c*a*a)-(a*a*a*a+b*b*b*b+c*c*c*c)
r = S/s
R = a*b*c/S/4
ra = S/(s-a)
rb = S/(s-b)
rc = S/(s-c)
A = Math.acos*10
AA = A/Math.PI*180
B = Math.acos*11
BB = B/Math.PI*180
C = Math.acos*12
CC = C/Math.PI*180
ha = 2*S/a
hb = 2*S/b
hc = 2*S/c
cA = (b*b+c*c-a*a)/(2*b*c)
cB = (c*c+a*a-b*b)/(2*c*a)
cC = (a*a+b*b-c*c)/(2*a*b)
sA = Math.pow(1-cA*cA,1/2)
sB = Math.pow(1-cB*cB,1/2)
sC = Math.pow(1-cC*cC,1/2)
ctA2 = Math.cos(A/2)/Math.sin(A/2)
ctB2 = Math.cos(B/2)/Math.sin(B/2)
ctC2 = Math.cos(C/2)/Math.sin(C/2)
s2A = 2*sA*cA
s2B = 2*sB*cC
s2C = 2*sB*cC
tA = Math.tan(A)
tB = Math.tan(B)
tC = Math.tan(C)
sa = s - a
sb = s - b
sc = s - c
window.alert("(a = " + a + ",b = " + b + ",c = " + c + ")\nr = " + r + "\nR = " + R + "\nS = " + S + "\n16S² = " + S2 + "\ns = " + s + "\ns-a = " + sa + "\ns-b = " + sb + "\ns-c = " + sc + "\nA = " + A + "rad = " + AA + "°\nB = " + B + "rad = " + BB + "°\nC = " + C + "rad = " + CC + "°\nsin(A) = " + sA + "\ncos(A) = " + cA + "\nsin(B) = " + sB + "\ncos(B) = " + cB + "\nsin(C) = " + sC + "\ncos(C) = " + cC)
window.alert("\nsin(2A) = " + s2A + "\ncot(A/2) = " + ctA2 + "\nsin(2B) = " + s2B + "\ncot(B/2) = " + ctB2 + "\nsin(2C) = " + s2C + "\ncot(C/2) = " + ctC2 + "\ntan(A) = " + tA + "\nha = " + ha + "\ntan(B) = " + tB + "\nhb = " + hb + "\ntan(C) = " + tC + "\nhc = " + hc + "\nra = " + ra + "\nrb = " + rb + "\nrc = " +rc)
a = ""
b = ""
c = ""
s = ""
S = ""
r = ""
R = ""
sA = ""
sB = ""
sC = ""
cA = ""
cB = ""
cC = ""
sa = ""
sb = ""
sc = ""
ra = ""
rb = ""
rc = ""
A = ""
B = ""
C = ""
AA = ""
BB = ""
CC = ""
tA = ""
tB = ""
tC = ""
ha = ""
hb = ""
hc = ""
ctA2 = ""
ctB2 = ""
ctC2 = ""
s2A = ""
s2B = ""
s2C = ""
S2 = ""
}
function ruzyandoru(){
n = window.prompt("自然数を入力してください","")
p = window.prompt("素数を入力してください","")
s = Number(n)
d = 0
for(;s >= p;){
s = Math.floor(s/p)
d = d + s
}
window.alert("v_" + p + " (" + n + "!) = " + d)
n = ""
p = ""
s = ""
d = ""
}
function pzyoukonn(){
m = window.prompt("範囲を入力してください","")
p = window.prompt("指数を入力してください","")
n = eval(m)
s = 0
k = 0
for(;Math.pow(n,p)-1 >= k;k++){
a = Math.floor(Math.pow(k,1/p))
if(Math.pow(a+1,p) == k){
s = s + a + 1
} else {
s = s + a
}
}
window.alert("s = " + s)
p = ""
m = ""
n = ""
k = ""
s = ""
}
function pzyounowa(){
m = window.prompt("範囲を入力してください","")
p = window.prompt("指数を入力してください","")
n = eval(m)
s = 0
k = 0
for(;n >= k;k++){
s = s + Math.pow(k,p)
}
window.alert("s = " + s)
p = ""
m = ""
n = ""
k = ""
s = ""
}
function nnopzyou(){
n = window.prompt("底数を入力してください","")
p = window.prompt("指数を入力してください","")
window.alert(Math.pow(n,p))
n = ""
p = ""
}
function gcd(gcd1, gcd2) {
// 剰余
var gcdsub;

if(gcd1 < gcd2) { // gcd1 >= gcd2にする
gcdsub = gcd1; //一時退避
gcd1 = gcd2;
gcd2 = gcdsub;
}

while *13
n = n/g
d = d/g
}
numerator[i] = n
denominator[i] = d

}

 

n = 0
d = 1
i = 1
for(;i <= m;i++){

subn = n*denominator[i]-Math.pow(-1,i)*d*numerator[i]
subd = d*denominator[i]
if(subn == 0){

n = 0
d = 1

} else {
g = gcd(Math.abs(subn),Math.abs(subd))
n = subn/g
d = subd/g
}

}

numerator.shift()
denominator.shift()

numerator.unshift(n)
denominator.unshift(d)


numerator.unshift(0)
denominator.unshift(1)

 

window.alert(numerator + "\n" + denominator)
t = window.prompt("繰り返しますか? 1でstop", "")

}

n = ""
d = ""
i = ""
g = ""
m = ""
t = ""
numerator = ""
denominator = ""

}
</script>
</head>
<body>
<p><input type="button" value="一次方程式" onClick="itizi()"></p>
<p><input type="button" value="二次方程式" onClick="nizi()"></p>
<p><input type="button" value="和と積" onClick="watoseki()"></p>
<p><input type="button" value="自然数の和" onClick="itizyou()"></p>
<p><input type="button" value="自然数の2乗の和" onClick="nizyou()"></p>
<p><input type="button" value="自然数の3乗の和" onClick="sanzyou()"></p>
<p><input type="button" value="比例式" onClick="hireisiki()"></p>
<p><input type="button" value="二元連立方程式(クラメルの公式)" onClick="nigenrenritu()"></p>
<p><input type="button" value="最大公約数" onClick="kouyakusuu()"></p>
<p><input type="button" value="最小公倍数" onClick="koubaisuu()"></p>
<p><input type="button" value="三平方の定理" onClick="sanheihou()"></p>
<p><input type="button" value="三角形の面積(へロンの公式)" onClick="heron()"></p>
<p><input type="button" value="複素数の加法" onClick="hukusosuunowa()"></p>
<p><input type="button" value="複素数の減法" onClick="hukusosuunosa()"></p>
<p><input type="button" value="複素数の乗法" onClick="hukusosuunoseki()"></p>
<p><input type="button" value="複素数の除法" onClick="hukusosuunosyou()"></p>
<p><input type="button" value="複素数の冪乗" onClick="hukusosuunosisuu()"></p>
<p><input type="button" value="階乗" onClick="kaizyou()"></p>
<p><input type="button" value="約分" onClick="yakubun()"></p>
<p><input type="button" value="数式処理" onClick="suusiki()"></p>
<p><input type="button" value="大小関係" onClick="daisyou()"></p>
<p><input type="button" value="xor演算" onClick="burakkubokkusu()"></p>
<p><input type="button" value="sin(θ)" onClick="sain()"></p>
<p><input type="button" value="cos(θ)" onClick="cosain()"></p>
<p><input type="button" value="tan(θ)" onClick="tanzyento()"></p>
<p><input type="button" value="arcsin(θ)" onClick="aksain()"></p>
<p><input type="button" value="arccos(θ)" onClick="akcosain()"></p>
<p><input type="button" value="arctan(θ)" onClick="aktan()"></p>
<p><input type="button" value="agr(x+yi)" onClick="agr()"></p>
<p><input type="button" value="e^x" onClick="sisuukannsuu()"></p>
<p><input type="button" value="sgi(x)" onClick="sigunaru()"></p>
<p><input type="button" value="e^(iθ)" onClick="oira()"></p>
<p><input type="button" value="1-{(1-x/y)^z}" onClick="kakuritu()"></p>
<p><input type="button" value="乱数" onClick="ransuu()"></p>
<p><input type="button" value="log(x,y)" onClick="rogu()"></p>
<p><input type="button" value="Log(x+yi)" onClick="logu()"></p>
<p><input type="button" value="四角形の面積(ブレートシュナイダーの公式)" onClick="bureitosyunaida()"></p>
<p><input type="button" value="正三角形の面積" onClick="seisankanukei()"></p>
<p><input type="button" value="三角形の面積(二辺の長さと間の角)" onClick="nihensonokaku()"></p>
<p><input type="button" value="1-(1-y)^(1/x)" onClick="ritunogoukei()"></p>
<p><input type="button" value="循環小数" onClick="zyunnkannsyousuu()"></p>
<p><input type="button" value="log(1-x)/log(1-y)" onClick="ritunannkai()"></p>
<p><input type="button" value="代入" onClick="dainyuu()"></p>
<p><input type="button" value="微分" onClick="bibunn()"></p>
<p><input type="button" value="一次方程式 (改)" onClick="itizikai()"></p>
<p><input type="button" value="極限" onClick="kyokugenn()"></p>
<p><input type="button" value="等差型漸化式" onClick="tousazenkasiki()"></p>
<p><input type="button" value="等比型漸化式" onClick="touhizenkasiki()"></p>
<p><input type="button" value="特性方程式" onClick="tokuseizenkasiki()"></p>
<p><input type="button" value="ニュートン法(導関数)" onClick="myuutonhou()"></p>
<p><input type="button" value="ニュートン法(三点近似)" onClick="santennmyuuton()"></p>
<p><input type="button" value="ニュートン法(五点近似)" onClick="gotennmyuuton()"></p>
<p><input type="button" value="積分(区分求積法)" onClick="sekibunn()"></p>
<p><input type="button" value="nPr" onClick="pii()"></p>
<p><input type="button" value="nCr" onClick="cii()"></p>
<p><input type="button" value="Σ(f(x))" onClick="siguma()"></p>
<p><input type="button" value="Π(f(x))" onClick="pai()"></p>
<p><input type="button" value="二次方程式の三点" onClick="nizihoutesikinosanten()"></p>
<p><input type="button" value="三元連立方程式" onClick="sangenrenritu()"></p>
<p><input type="button" value="四元連立方程式" onClick="yongenrenritu()"></p>
<p><input type="button" value="数値処理" onClick="heikinn()"></p>
<p><input type="button" value="二回微分" onClick="nikaibibun()"></p>
<p><input type="button" value="素因数分解" onClick="soinnsuubunnkai()"></p>
<p><input type="button" value="約数関数" onClick="yakusuukannsuu()"></p>
<p><input type="button" value="W(x)(ランベルトのW関数)" onClick="ranberuto()"></p>
<p><input type="button" value="最小二乗法" onClick="saisyouzizyouhou()"></p>
<p><input type="button" value="時間の足し算" onClick="zikantasizan()"></p>
<p><input type="button" value="時間の引き算" onClick="zikanhukizan()"></p>
<p><input type="button" value="時間の掛け算" onClick="zikankakezan()"></p>
<p><input type="button" value="時間の割り算" onClick="zikanwarizan()"></p>
<p><input type="button" value="素数定理" onClick="sosuuteiri()"></p>
<p><input type="button" value="二点間の距離の公式" onClick="nitenkannokyori()"></p>
<p><input type="button" value="直線(or平面)と点の距離の公式" onClick="tyokusentotennokyori()"></p>
<p><input type="button" value="ベクトルの内積,なす角,cos(θ)" onClick="bekutorunonaiseki()"></p>
<p><input type="button" value="三角形の面積(一辺の長さと両端の角)" onClick="sankakukeinokakudo()"></p>
<p><input type="button" value="フィボナッチ数" onClick="fibontti()"></p>
<p><input type="button" value="三角形の3辺からの情報" onClick="sannkakukeinohen()"></p>
<p><input type="button" value="ルジャンドルの定理" onClick="ruzyandoru()"></p>
<p><input type="button" value="p乗根の和" onClick="pzyoukonn()"></p>
<p><input type="button" value="p乗の和" onClick="pzyounowa()"></p>
<p><input type="button" value="nのp乗" onClick="nnopzyou()"></p>
<p><input type="button" value="Faulhaber" onClick="Faulhaber()"></p>
</body>
</html>

*1:n+1) % 3 == 0){
x = (n+1)/3;
if (n % 2 == 0){
x = (n/2)*x;
x = x*(2*n+1);
} else {
x = x / 3;
x = x*(2*n+1)*n;
}
} else {
x = (2*n+1)/3;
if (n % 2 == 0){
x = (n/2)*x;
x = x * (x+1);
}else{
x = ((n+1)/2)*x;
x = x * n;
}
};
window.alert("1~" + n + "までの2乗の和 = " + x);
x = "";
n = "";
}
function sanzyou(){
n = window.prompt("1³+2³+3³+...+n³" + "\n" + "nに自然数を入れてください","");
if (n < 1) {
n = 1;
}
n = Math.floor(n);
if (n % 2 == 0) {
x = n/2;
x = x*(n+1);
} else {
x = (n+1)/2;
x = x*n;
}
x = x*x;
window.alert("1~" + n + "までの三乗の和 = " + x);
x = "";
n = "";
}
function hireisiki(){
a = window.prompt("x :"+ "\n" + "左辺の比の右側を入力してください","");
b = window.prompt("x : "+ a + "\n" + "右辺の比の左側を入力してください","");
c = window.prompt("x : "+ a + " = " + b + "\n" + "右辺の比の右側を入力してください","");
x = a*b/c;
window.alert("x : "+ a + " = " + b + " : " + c + "\n" + "x=" + x);
a = "";
b = "";
c = "";
x = "";
}
function nigenrenritu(){
a = window.prompt("\n" + "1つ目の式のxの係数を入力してください","")
b = window.prompt(a + "x" + "\n" + "1つ目の式のyの係数を入力してください","")
c = window.prompt(a + "x + " + b + "y" + "\n" + "1つ目の式の答えを入力してください","")
d = window.prompt(a + "x + " + b + "y = " + c + "\n" + "2つ目の式のxの係数を入力してください","")
e = window.prompt(a + "x + " + b + "y = " + c + "\n" + d + "x" + "\n" + "2つ目の式のyの係数を入力してください","")
f = window.prompt(a + "x + " + b + "y = " + c + "\n" + d + "x + " + e + "y" + "\n" + "2つ目の式の答えを入力してください","")
g = e*c-b*f
h = a*e-b*d
i = d*c-a*f
j = b*d-a*e
x = g/h
y = i/j
if (h < 0){
g = (-1) * g
h = (-1) * h
}
if (j < 0){
i = (-1) * i
j = (-1) * j
}
g = g + "/" + h
i = i + "/" + j
k = a*x + b*y
k = k + " = " + c
l = d*x + e*y
l = l + " = " + f
window.alert(a + "x + " + b + "y = " + c + "\n" + d + "x + " + e + "y = " + f + "\n" + "x=" + x + " (" + g + ")" + "\n" + "y=" + y + " (" + i + ")" + "\n" + k + "\n" + l)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
x = ""
y = ""
}
function kouyakusuu(){
a = window.prompt("1つ目の自然数を入力してください","")
a = Math.floor(a);
if (a < 1){
a = 1
}
c = a
b = window.prompt("GCD(" + a + "\n" + "2つ目の自然数を入力してください","")
b = Math.floor(b);
if (b < 1){
b = 1
}
d = b
for(;;){
b = b % a
if( b == 0 ) break;
a = a % b
if( a == 0 ) break;
}
if (a == 0){
x = b
} else {
x = a
}
window.alert("GCD(" + c + "," + d + ") = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function koubaisuu(){
a = window.prompt("1つ目の自然数を入力してください","")
a = Math.floor(a);
if (a < 1){
a = 1
}
c = a
b = window.prompt("LCM(" + a + "\n" + "2つ目の自然数を入力してください","")
b = Math.floor(b);
if (b < 1){
b = 1
}
d = b
for(;;){
b = b % a
if( b == 0 ) break;
a = a % b
if( a == 0 ) break;
}
if (a == 0){
x = b
} else {
x = a
}
x = (c/x)*d
window.alert("LCM(" + c + "," + d + ") = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function sanheihou(){
a = window.prompt("底辺を入力してください","")
b = window.prompt("底辺 " + a + "高さを入力してください","")
x = a*a+b*b
x = Math.pow(x,1/2)
window.alert("底辺 " + a + " 高さ " + b + "\n" + "斜辺 " + x)

a = ""
b = ""
x = ""
}
function heron(){
a = window.prompt("1つ目を入力してください","")
b = window.prompt("2つ目を入力してください","")
c = window.prompt("3つ目を入力してください","")
s = (a*1+b*1+c*1)/2
x = s*(s-a)*(s-b)*(s-c)
x = Math.pow(x,1/2)
window.alert("辺の長さ" + a + "," + b + "," + c + "\n" + "三角形の面積 = " + x)
a = ""
b = ""
c = ""
s = ""
x = ""
}
function hukusosuunowa(){
a = window.prompt("足される数の実部を入力してください","")
b = window.prompt("(" + a + "\n" + "足される数の虚部を入力してください","")
c = window.prompt("(" + a + " + " + b + "i)" + "\n" + "足す数の実部を入力してください","")
d = window.prompt("(" + a + " + " + b + "i) + (" + c + "\n" + "足す数の虚部を入力してください","")
e = a*1 + c*1
f = b*1 + d*1
x = e + "+" + f + "i"
window.alert("(" + a + " + " + b + "i) + (" + c + " + " + d + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function hukusosuunosa(){
a = window.prompt("引かれる数の実部を入力してください","")
b = window.prompt("(" + a + "\n" + "引かれる数の虚部を入力してください","")
c = window.prompt("(" + a + " + " + b + "i)" + "\n" + "引く数の実部を入力してください","")
d = window.prompt("(" + a + " + " + b + "i) - (" + c + "\n" + "引く数の虚部を入力してください","")
e = a*1 - c*1
f = b*1 - d*1
x = e + "+" + f + "i"
window.alert("(" + a + " + " + b + "i) - (" + c + " + " + d + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function hukusosuunoseki(){
a = window.prompt("かけられる数の実部を入力してください","")
b = window.prompt("(" + a + "\n" + "かけられる数の虚部を入力してください","")
c = window.prompt("(" + a + " + " + b + "i)" + "\n" + "かける数の実部を入力してください","")
d = window.prompt("(" + a + " + " + b + "i) (" + c + "\n" + "かける数の虚部を入力してください","")
e = a*c - b*d
f = a*d + b*c
x = e + "+" + f + "i"
window.alert("(" + a + " + " + b + "i) (" + c + " + " + d + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function hukusosuunosyou(){
a = window.prompt("わられる数の実部を入力してください","")
b = window.prompt("(" + a + "\n" + "わられる数の虚部を入力してください","")
c = window.prompt("(" + a + " + " + b + "i)" + "\n" + "わる数の実部を入力してください","")
d = window.prompt("(" + a + " + " + b + "i)/(" + c + "\n" + "わる数の虚部を入力してください","")
g = a*c + b*d
e = g/(c*c+d*d)
h = b*c - a*d
f = h/(c*c+d*d)
i = c*c+d*d
y = g + "/" + i + " + " + h + "/" + i + "i"
x = e + "+" + f + "i"
window.alert("(" + a + " + " + b + "i)/(" + c + " + " + d + "i) = " + x + " (" + y + ")")
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function hukusosuunosisuu(){
a = window.prompt("実部の数を入力してください","")
if (a == ""){
a = 0
}
l = a
a = eval(a)
b = window.prompt("虚部の数を入力してください","")
if (b == ""){
b = 0
}
m = b
b = eval(b)
c = window.prompt("指数の実部を入力してください","")
if (c == ""){
c = 0
}
n = c
c = eval(c)
d = window.prompt("指数の虚部を入力してください","")
if (d == ""){
d = 0
}
o = d
d = eval(d)
e = Math.pow(a*a+b*b,1/2)
f = Math.log(e)
g = Math.atan2(b,a)
h = c*f - d*g
i = c*g + d*f
j = Math.exp(h) * Math.cos(i)
k = Math.exp(h) * Math.sin(i)
if (gosa == 0){
if (Math.abs(j) < 0.000000000001){
j = 0
}
if (Math.abs(Math.round(j)-j) < 0.00000000000005){
j = Math.round(j)
}
if (Math.abs(k) < 0.000000000001){
k = 0
}
if (Math.abs(Math.round(k)-k) < 0.00000000000005){
k = Math.round(k)
}
}
if (a == 0){
if (b == 0){
j = 0
k = 0
}
}
x = j + " + " + k + "i"
window.alert("(" + l + " + " + m + "i)^(" + n + " + " + o + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
k = ""
x = ""
}
function kaizyou(){
a = window.prompt("階乗にする自然数を入力してください","")
a = Math.floor(a);
if (a < 0){
a = 0
}
b = a
if (a >= 171){
a = 171
}
if (a == 0){
x = 1
} else {
x = 1
for(;;){
x = x * a
a = a - 1
if( a == 1 ) break;
}
}
window.alert(b + "! = " + x)
a = ""
b = ""
x = ""
}
function yakubun(){
a = window.prompt("分母を入力してください","")
a = Math.floor(Math.abs(a

*2:-1) * d)*Math.cos(c)-Math.exp(d)*Math.cos((-1) * c)
f = Math.exp((-1) * d)*Math.sin(c)-Math.exp(d)*Math.sin((-1) * c)
g = (-1)*e/2
h = f/2
x = h + "+" + g + "i"
window.alert("sin" + "(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
x = ""
}
function cosain(){
a = window.prompt("cosを求める数を入力してください","")
c = eval(a)
b = window.prompt("cosを求める数の虚部を入力してください","")
d = eval(b)
e = Math.exp((-1) * d)*Math.cos(c)/2+Math.exp(d)*Math.cos((-1) * c)/2
f = Math.exp((-1) * d)*Math.sin(c)/2+Math.exp(d)*Math.sin((-1) * c)/2
x = e + "+" + f + "i"
window.alert("cos" + "(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
x = ""
}
function tanzyento(){
a = window.prompt("tanを求める数の実部を入力してください","")
c = eval(a)
b = window.prompt("tanを求める数の虚部を入力してください","")
d = eval(b)
e = Math.exp((-1) * d)*Math.cos(c)-Math.exp(d)*Math.cos((-1) * c)
f = Math.exp((-1) * d)*Math.sin(c)-Math.exp(d)*Math.sin((-1) * c)
g = Math.exp((-1) * d)*Math.cos(c)+Math.exp(d)*Math.cos((-1) * c)
h = Math.exp((-1) * d)*Math.sin(c)+Math.exp(d)*Math.sin((-1) * c)
h = (-1) * h
i = (e*h+f*g)/(h*h+g*g)
j = (f*h-e*g)/(h*h+g*g)
x = i + "+" + j + "i"
window.alert("tan" + "(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
j = ""
x = ""
}
function aksain(){
a = window.prompt("arcsinを求める数の実部を入力してください","")
x = Math.asin(a)/(Math.PI / 180)
window.alert("arcsin" + "(" + a + ") = " + x)
a = ""
x = ""
}
function akcosain(){
a = window.prompt("arccosを求める数を入力してください","")
x = Math.acos(a)/(Math.PI / 180)
window.alert("arccos" + "(" + a + ") = " + x)
a = ""
x = ""
}
function aktan(){
a = window.prompt("arctanを求める数を入力してください","")
x = Math.atan(a)/(Math.PI / 180)
window.alert("arctan" + "(" + a + ") = " + x)
a = ""
x = ""
}
function agr(){
a = window.prompt("実数部の数を入力してください","")
c = eval(a)
b = window.prompt("虚数部の数を入力してください","")
d = eval(b)
x = Math.atan2(d,c)/(Math.PI / 180)
window.alert("agr" + "(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function sisuukannsuu(){
a = window.prompt("指数関数の指数の部分の数を入力してください","")
b = eval(a)
x = Math.exp(b)
window.alert("e^" + a + " = " + x)
a = ""
b = ""
x = ""
}
function sigunaru(){
a = window.prompt("sgn関数に入れる数を入力してください","")
b = eval(a)
x = Math.abs(b)
x = b/x
if (a == 0){
x = 0
}
window.alert("sgn(" + a + ") = " + x)
a = ""
b = ""
x = ""
}
function oira(){
a = window.prompt("e^(iθ)のθに入れる数の実部を入力してください","")
d = eval(a)
f = window.prompt("e^(iθ)のθに入れる数の虚部を入力してください","")
e = eval(f)
b = Math.exp((-1)*e) * Math.cos(d)
c = Math.exp((-1)*e) * Math.sin(d)
x = b + "+" + c + "i"
window.alert("e^(i(" + a + "+" + f + "i

*3:f-e)/x,c)
y = y + " (" + z + "/" + w + ")"
window.alert("1-(1-" + e + "/" + f + ")^" + c + " = " + y)
}
function ransuu(){
a = window.prompt("乱数の最小値を入力してください","")
a = Math.floor(a)
b = window.prompt("乱数の最大値を入力してください","")
b = Math.floor(b)
x = Math.floor( Math.random() * (b - a) ) + a*1
window.alert(a + "~" + b + "までの乱数" + "\n" + x)
a = ""
b = ""
x = ""
}
function rogu(){
a = window.prompt("logの底を入力してください","")
b = window.prompt("logに入れる数を入力してください","")
x = Math.log(b)/Math.log(a)
window.alert("log(" + a + "," + b + ") = " + x)
a = ""
b = ""
x = ""
}
function logu(){
a = window.prompt("Logに入れる数の実部を入力してください","")
b = window.prompt("Logに入れる数の虚部を入力してください","")
c = Math.pow(a*a+b*b,1/2)
d = Math.log(c)
e = Math.atan2(b,a)
x = d + "+" + e + "i"
window.alert("Log(" + a + "+" + b + "i) = " + x)
a = ""
b = ""
c = ""
d = ""
e = ""
x = ""
}
function bureitosyunaida(){
a = window.prompt("辺Aの長さを入力してください","")
b = window.prompt("辺Bの長さを入力してください","")
c = window.prompt("辺Cの長さを入力してください","")
d = window.prompt("辺Dの長さを入力してください","")
e = window.prompt("A,Bの間の角を入力してください","")
f = window.prompt("C,Dの間の角を入力してください","")
g = (a*1 + b*1 + c*1 + d*1)/2
h = a*b*c*d*Math.cos((e*1 + f*1)/2)*Math.cos((e*1 + f*1)/2 * (Math.PI / 180

*4:-1)*y+Math.pow(m,1/2

*5:-1)*y-Math.pow(m,1/2

*6:a-c)*(a-c)+(b-d)*(b-d),1/2)
window.alert("(" + a + "," + b + ")と(" + c + "," + d + ")の距離\n" + x)
a = ""
b = ""
c = ""
d = ""
x = ""
}
function tyokusentotennokyori(){
x = window.prompt("点のx座標を入力してください","")
y = window.prompt("点のy座標を入力してください","")
z = window.prompt("点のz座標を入力してください","")
a = window.prompt("直線(or平面)の式のxの係数を入力してください","")
b = window.prompt("直線(or平面)の式のyの係数を入力してください","")
c = window.prompt("直線(or平面)の式のyの係数を入力してください","")
d = window.prompt("直線(or平面)の式の定数項を入力してください","")
e = (Math.abs(a*x+b*y+c*z+1*d

*7:a*a+b*b)*(c*c+d*d),1/2

*8:b*1+c*1)/180*Math.PI)
window.alert("辺 = " + a + "\n" + "間の角 = " + b + " , " + c + "\n" + "面積 = " + s)
a = ""
b = ""
c = ""
s = ""
}
function fibontti(){
a = window.prompt("F_nのnを入力してください","")
x = (Math.pow((1+Math.pow(5,1/2

*9:1-Math.pow(5,1/2

*10:b*b+c*c-a*a)/(2*b*c

*11:c*c+a*a-b*b)/(2*c*a

*12:a*a+b*b-c*c)/(2*a*b

*13:gcdsub = gcd1 % gcd2) != 0) {
gcd1 = gcd2;
gcd2 = gcdsub;
}

return gcd2;
}
function Faulhaber(){
numerator = window.prompt("分子の配列を入力してください\nex)1/2*n^2+1/2*n → [0,1,1]と[1,2,2](昇べきの順)", "")
denominator = window.prompt("分母の配列を入力してください", "")
numerator = eval(numerator)
denominator = eval(denominator)
t = 0
for(;t == 0;){

m = numerator.length-1
i = 1
for(;i <= m;i++){
n = numerator[i]*m
d = denominator[i]*(i*1+1)
if(n == 0){
n = 0
d = 1
} else {
g = gcd(Math.abs(n),Math.abs(d

プログラム