<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等。
阅读全文