javascript-计算24

<html>
    <head>
    <title>计算24</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <style>
        body{
            background-color:buttonface;
        }
        #tex_result {
            background-color:#6090DA;
            border:black solid 1px;
            color:white;
            font-weight:bold;
            height:20px;
        }
    </style>
    <script src="https://code.jquery.com/jquery-2.1.0.js"></script>
    <script type="text/javascript">
            var v1,v2,v3,v4,v5,tex_result;
            //获取页面元素对象的引用
            function $(str){
                return (document.getElementById(str));
            }
            //测试所有四则运算
            function call(val1,val2,val3,val4){
                theArray0 = new Array(val1,val2,val3,val4);
                theArray1 = new Array('1234','1243','1324','1342','1423','1432','2134','2143','2314','2341','2413','2431','3124','3142','3214','3241','3412','3421','4123','4132','4213','4231','4312','4321');
                theArray2 = new Array('+','-','*','/');
                a1 = parseInt(v5.value);
                for(var ii=0;ii<24;++ii){
                    theArray3 = theArray1[ii].split('');
                    for(var mm=0;mm<4;++mm){
                        theArray3[mm] = parseInt(theArray3[mm]);
                    }
                    for(var jj=0;jj<4;++jj){
                        for(var kk=0;kk<4;++kk){
                            for(var ll=0;ll<4;++ll){
                                ss1=theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+theArray2[kk]+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1];
                                if(eval(ss1)==a1){
                                    return (ss1);
                                }
                                ss1 = '('+theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+')'+theArray2[kk]+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1];
                                if(eval(ss1)==a1){
                                    return (ss1);
                                }
                                ss1 = theArray0[theArray3[0]-1]+theArray2[jj]+'('+theArray0[theArray3[1]-1]+theArray2[kk]+theArray0[theArray3[2]-1]+')'+theArray2[ll]+theArray0[theArray3[3]-1];
                                if(eval(ss1)==a1){
                                    return (ss1);
                                }
                                ss1 = theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+theArray2[kk]+'('+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1]+')';
                                if(eval(ss1)==a1){
                                    return (ss1);
                                }
                                ss1 = '('+theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+theArray2[kk]+theArray0[theArray3[2]-1]+')'+theArray2[ll]+theArray0[theArray3[3]-1];
                                if(eval(ss1)==a1){
                                    return (ss1);
                                }
                                ss1 = theArray0[theArray3[0]-1]+theArray2[jj]+'('+theArray0[theArray3[1]-1]+theArray2[kk]+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1]+')';
                                if(eval(ss1)==a1){
                                    return (ss1);
                                }
                                ss1 = '('+theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+')'+theArray2[kk]+'('+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1]+')';
                                if(eval(ss1)==a1){
                                    return (ss1);
                                }
                            }
                        }
                    }
                }
                return (false);
            }
            //接受页面输入,处理后输出
            function main(){
                var s1 = call(v1.value,v2.value,v3.value,v4.value);
                if(s1){
                    txt_result.innerText+='\n'+s1+'=='+v5.value;
                } else {
                    txt_result.innerText+='\n'+v1.value+','+v2.value+','+v3.value+','+v4.value+'无结果!';
                }
                init();
                return false;
            }
            //检查用户输入是否符合要求
            function check1(obj1){
                if(isNaN(obj1.value)){
                    alert('请输入一个值!');
                    //是对象获得焦点并激发onfocus事件
                    obj1.focus();
                    //选择对象
                    obj1.select();
                    //该属性是设置或获取事件的返回值
                    event.returnValue=false;

                    event.cancelBubble=true;
                    return (false);
                }
            }
            //函数清空输出
            function clear_input(){
                txt_result.innerText="";
                v1.focus();
                return (true);
            }
            //初始化
            function init(){
                v1=$("v1");
                v2=$("v2");
                v3=$("v3");
                v4=$("v4");
                v5=$("v5");
                txt_result=$("txt_result");
                v1.select();
            }
        </script>
    </head>
    <body style="overflow:auto;" οnlοad="init();">
        <form οnsubmit="return(main());">
            <input id="v1" οnchange="check1(this);">
            <input id="v2" οnchange="check1(this);"><br>
            <input id="v3" οnchange="check1(this);">
            <input id="v4" οnchange="check1(this);"><br>
            <b> 请输入要计算的四个数: </b><br>
            <input id="v5" οnchange="check1(this);" value="24"><br>
            <input type="submit" value="计算">
            <input type="reset" οnclick="clear_input();" value="清除结果">
        </form>
        <b>结果:</b><br>
        <div id="txt_result"></div>    
    </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值