js计算

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=GB2312" />
<title>5-1  计算24</title>
<!-- 页面样式 -->
<style>
body { background-color:buttonface; }
#txt_result {
    background-color:#6090DA;
    border:black solid 1px;
    color:white;
    font-weight:bold;
    height:20px;
}
</style>
<!-- 脚本部分 -->
<script type="text/javascript">
var v1, v2, v3, v4, v5, txt_result;//定义全局变量
/*下面的函数通过id属性获取页面元素对象的引用*/
function $(str){ return(document.getElementById(str)); }
/*下面的函数接受四个正整数为参数,循环测试所有可能的四则运算式,并将符合结果的算式返回*/
function cal1(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=cal1(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){
     // alert("**********************"+isNaN(obj1.value));//不是数值就返回真;
    if(isNaN(obj1.value)){
        alert('请输入一个数值!');
        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());">
        <b>请输入要计算的四个数:</b><br>
        <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
发出的红包

打赏作者

Arisono

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值