24点javascript自动计算
来源:互联网 发布:易众联读卡器软件 编辑:程序博客网 时间:2024/06/08 11:10
在线计算24点
进去之前,可尝试自己算算这个24点
3 3 8 8
能算出的绝对不是一般人啊。
<!Doctype html><html><head><title>24点终结者</title><meta name="viewport" content="initial-scale=1" /><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"><SCRIPT LANGUAGE="javaScript" >//copyright sliang 1999.2.11 ,
//2016.2.21优化版var O=[{name:"-",f:function(m,n){return m-n}},{name:"+",f:function(m,n){return m+n}},{name:"/",f:function(m,n){return m/n}},{name:"*",f:function(m,n){return m*n}}]function valid(F){var s=F.a.value.replace(/^\D+|\D+$/g,"").split(/\D+/g)if (s.length!=4){alert("必须输入4个整数!"); F.a.focus(); return false}//格式化输入if (s.join(" ")!=F.a.value) F.a.value=s.join(" ")var b=[] //四个数字保存在b[1] b[2] b[4] b[8]中for(var i in s) b[1<<i]=parseInt(s[i])var n=F.count1.options[F.count1.selectedIndex].value; //需要计算的答案数vark=0 //已经算出的答案数varresult={} //保存已经算出的答案,去掉重复F.text.value="";//输出结果,找满答案返回truevar writeResult=function (s){//按顺序替换符号与数字 s=s.replace("%",O[f1].name).replace("%",O[f2].name).replace("%",O[f3].name) s=s.replace("N",b[i1]).replace("N",b[i2]).replace("N",b[i3]).replace("N",b[i4]) if(result[s]) return //已经重复了 result[s]=1 //记录 F.text.value+=s+"\n"; return ++k>=n}for (var i1=1;i1<=8;i1<<=1) for (var i2=1;i2<=8;i2<<=1) for (var i3=1;i3<=8;i3<<=1) for (var i4=1;i4<=8;i4<<=1){ //所有数字排列组合,简单去掉重复数字 if ((i1|i2|i3|i4)!=0xf) continue; for (var f1=0;f1<=3;f1++) for (var f2=0;f2<=3;f2++) for (var f3=0;f3<=3;f3++){ var of1=O[f1],of2=O[f2],of3=O[f3];// ((1,2)3)4var m=of3.f(of2.f(of1.f(b[i1],b[i2]) ,b[i3] ) ,b[i4]);if (Math.abs(m-24)<1e-5 ) if(writeResult("((N%N)%N)%N")) return false// 1((2,3)4)m=of1.f(b[i1], of3.f(of2.f(b[i2],b[i3]) ,b[i4]) );if (Math.abs(m-24)<1e-5) if(writeResult("N%((N%N)%N)")) return false // (1(2,3))4m=of3.f(of1.f(b[i1], of2.f(b[i2],b[i3]) ),b[i4]);if (Math.abs(m-24)<1e-5) if(writeResult("(N%(N%N))%N")) return false//1(2(3,4))m=of1.f(b[i1], of2.f(b[i2], of3.f( b[i3], b[i4]) ) );if (Math.abs(m-24)<1e-5) if(writeResult("N%(N%(N%N))")) return false//(1,2)(3,4)m=of2.f(of1.f(b[i1],b[i2]), of3.f(b[i3],b[i4]) );if (Math.abs(m-24)<1e-5) if(writeResult("(N%N)%(N%N)")) return false } }F.text.value+="----END----\n"return false}</SCRIPT></head><BODY bgcolor=#D5E6E1 LINK="#0000ff" VLINK="#0000FF" ><font color=red size=+3>24点终结者</font><HR><FORM onsubmit="return valid(this)">请输入四个整数空格分开:<BR><INPUT TYPE="text" NAME="a" size=20 value="3 3 8 8"><SELECT NAME="count1" > <OPTION VALUE="1" selected=on> 只找一个答案<OPTION VALUE="5" > 最多找5个<OPTION VALUE=10 > 最多找10个<OPTION VALUE=999 > 找全部答案</select><BR> <INPUT TYPE=submit VALUE="计算24点"><BR><HR><TEXTAREA NAME="text" ROWS="15" COLS="30"></TEXTAREA></FORM><HR><FORM><INPUT TYPE="button" VALUE="返回" onClick="history.back()"></FORM></body></html>
0 0
- 24点javascript自动计算
- 计算24点
- 计算24点
- C#计算24点
- 计算24点
- Java计算24点
- python计算24点
- 计算24点
- 计算24点问题
- 24点计算
- 计算24点
- 24点计算 --- 庞果
- 计算24点
- 24点计算问题
- 24点计算 算法
- 计算24点程序代码
- 24点计算
- javascript 取得年月自动计算年龄
- jQuery自学教程(四)——事件
- Learning to Count Objects in Images
- HTTP 加密
- linux下模块编译基本知识和格式
- HDU 1284 钱币兑换问题 (完全背包)
- 24点javascript自动计算
- 332. Reconstruct Itinerary
- 《Android源码设计模式》读书笔记 (13) 第13章 备忘录模式
- h3c 三层交换机snmp 团体名称配置
- HDU 1284 钱币兑换问题(母函数)
- 【Android】安卓学习笔记之广播(一)动态注册监听网络变化
- android 开发技巧(3)--创建定制的 ViewGroup
- Android质量压缩和尺寸压缩
- 备忘