<html>
<head>
<title>脚本之家 js 计算24</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script ...
<html>
<head>
<title>脚本之家 js 计算24</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
///////////
//函数名称:24点游戏计算函数
//设计:勇敢的心(bravexin)
//版权所有,如需要拷贝请保持这段申明
///////////
///////////
//函数名称:24点游戏计算函数
//设计:苏永东
function main()
{
var typestate
var exists= false
var numbervalue = new Array();
var evaltype = new Array();
var jisuanfua = new Array();
var jisuanfub = new Array();
var jisuanfuc = new Array();
for (i=0;i<4;i++)
{
if (document.all('input'+i).value=='')
{
alert('必须把四个数字输全')
return
}else{
numbervalue[i]=document.all('input'+i).value
}
} //数字排列有4!=12个情况
//组合方式一:无括号 a+b+c+d
//组合方式二:有一个括号 (a+b)+c+d;a+(b+c)+d;a+b+(c+d);
//组合方式三:有二个括号 (a+b)+(c+d);((a+b)+c)+d
//总结下来都可以认为是存在两个括号的情况
//typestate='('+numbervalue[i] + jisuanfua[x] + numbervalue[j] + ')'+jisuanfub[y] +'('+ numbervalue[k] + jisuanfuc[z] + numbervalue[l]+')'
//typestate='('+'('+numbervalue[i] + jisuanfua[x] + numbervalue[j] +')'+ jisuanfub[y] + numbervalue[k] +')'+ jisuanfuc[z] + numbervalue[l]
//执行组合方式 //符号种类 + - * /
evaltype[0]='+'
evaltype[1]='-'
evaltype[2]='*'
evaltype[3]='/'
for (t=0;t<4 ;t++ )
{
jisuanfua[t]=evaltype[t]
jisuanfub[t]=evaltype[t]
jisuanfuc[t]=evaltype[t]
} for (x=0;x<4 ;x++ )
{
if (exists==true)
{
return
}
for (y=0;y<4 ;y++)
{
if (exists==true)
{
return
}
for (z=0;z<4;z++)
{
///下面开始组合方式
for (i=0;i<4;i++)
{
for (j=0;j<4;j++)
{
if (j==i)
{
continue
}else{
for (k=0;k<4;k++)
{
if ((k==i)||(k==j))
{
continue
}else{
for (l=0;l<4;l++)
{
if ((l==i)||(l==j)||(l==k))
{
continue
}else{
typestate='('+numbervalue[i] + jisuanfua[x] + numbervalue[j] + ')'+jisuanfub[y] +'('+ numbervalue[k] + jisuanfuc[z] + numbervalue[l]+')'
if (checkvalue(typestate)==24)
{
document.all.endtext.value=typestate
exists=true
break
}else{
typestate='('+'('+numbervalue[i] + jisuanfua[x] + numbervalue[j] +')'+ jisuanfub[y] + numbervalue[k] +')'+ jisuanfuc[z] + numbervalue[l]
if (checkvalue(typestate)==24)
{
document.all.endtext.value=typestate
exists=true
break
}else{
typestate='('+numbervalue[i] + jisuanfua[x] +'('+ numbervalue[j] + jisuanfub[y] + numbervalue[k] +')'+')'+ jisuanfuc[z] + numbervalue[l]
if (checkvalue(typestate)==24)
{
document.all.endtext.value=typestate
exists=true
break
}
}
}
}
}
}
}
}
}
}
//结束组合方式
}
}
}
if (exists!='true')
{
document.all.endtext.value='这四个数不存在可能,请重新输入'
}
}function checkvalue(a)
{
var b
b=eval(a)
return (b)
}function FnCheckInput(Evcode,Evid)
{
obj=Evid
objvalue=document.all(Evid).value
if ((Evcode<48)||(Evcode>57))
{
alert('请输入合法数字')
window.setTimeout("FnWrite(obj,objvalue)",10);
}
}function FnWrite(Evid,Evvalue)
{
document.all(Evid).value=Evvalue
}</script>
</head><body bgcolor="#FFFFFF" text="#000000">
<table width="75%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<p>第一个数
<input type="text" name="input0" size="30" onKeyPress="FnCheckInput(event.keyCode,this.name)">
</p>
</td>
</tr>
<tr>
<td> 第二个数
<input type="text" name="input1" size="30" onKeyPress="FnCheckInput(event.keyCode,this.name)">
</td>
</tr>
<tr>
<td> 第三个数
<input type="text" name="input2" size="30" onKeyPress="FnCheckInput(event.keyCode,this.name)">
</td>
</tr>
<tr>
<td> 第四个数
<input type="text" name="input3" size="30" onKeyPress="FnCheckInput(event.keyCode,this.name)">
</td>
</tr>
<tr>
<td height="29"> 最终结果
<input type="text" name="endtext" size="30" readonly>
</td>
</tr>
<tr>
<td height="29">
<input type="submit" name="Submit" value="检测" onclick="main()">
</td>
</tr>
</table>
<p> </p>
</body>
</html>24点是一种益智游戏,24点是把4个整数(一般是正整数)通过加减乘除以及括号运算,使最后的计算结果是24的一个数学游戏,24点可以考验人的智力和数学敏感性,它能在游戏中提高人们的心算能力。
24点通常是使用扑克牌来进行游戏的,一副牌中抽去大小王后还剩下52张(如果初练也可只用1~10这40张牌),任意抽取4张牌(称为牌组),用加、减、乘、除(可加括号)把牌面上的数算成24。每张牌必须只能用一次,如抽出的牌是3、8、8、9,那么算式为(9-8)×8×3或3×8÷(9-8)或(9-8÷8)×3等。
游戏技巧
“算24点”作为一种扑克牌智力游戏,应注意计算中的技巧问题。比如,计算时,不能够把牌面上的4个数的不同组合形式——去试,更不能瞎碰乱凑。这里向大家介绍几种常用的、便于学习掌握的方法:
1.利用3×8=24、4×6=24 、12×2=24求解。
把牌面上的四个数想办法凑成3和8、4和6、12和2再相乘求解。如3、3、6、10可组成(10-6÷3)×3=24或(10-3-3)×6=24。又如2、3、3、7可组成(7+3-2)×3=24等。实践证明,这种方法是利用率最大、命中率最高的一种方法。
2.利用0、1的运算特性求解。
如3、4、4、8可组成3×8+4—4=24等。又如4、5、J、K可组成11×(5—4)+13=24等。
阅读全文