• 快算24算法,JS版


    体验一下,代码如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    function js()
    {
        
    if(!abc())
        {
            document.getElementById(
    "test").innerText = "无解!";
        }
    }

    function abc()
    {
        
    var x = new Array();
        x[
    0= document.getElementById("a").value;
        x[
    1= document.getElementById("b").value;
        x[
    2= document.getElementById("c").value;
        x[
    3= document.getElementById("d").value;
        
        
    var a,b,c,d,abN,abcN,abcdN,str,cnt,a1,a2,a3,N;
        str 
    = "";
        cnt 
    = 0;
        abN 
    = 0;
        abcN 
    = 0;
        abcdN 
    = 0;    
        N 
    = 0;    
        
        
    for(var i=0;i<4;i++)
        {
            a 
    = x[i];
            
    for(var j=0;j<4;j++)
            {
                b 
    = x[j];
                
    if(j == i)continue;
                
    for(var m=0;m<4;m++)
                {
                    c 
    = x[m];
                    
    if(m == i || m == j)continue;
                    
    for(var n=0;n<4;n++)
                    {
                        d 
    = x[n];
                        
    if(n == i || n == j || n ==m)continue;
                        
                        
    for(var o=0;o<6;o++)
                        {
                            abN 
    = Com(a,b,o);
                            a1 
    = ComF(a,b,o);
                            
    for(var p=0;p<6;p++)
                            {
                                abcN 
    = Com(abN,c,p);
                                a2 
    = ComF(abN,c,p);
                                
    for(var q=0;q<6;q++)
                                {
                                    abcdN 
    = Com(abcN,d,q);
                                    a3 
    = ComF(abcN,d,q);
                                    N 
    = N + 1;
                                    
    if(abcdN==24)        
                                    {
                                        document.getElementById(
    "test").innerText = a1 + "\n" + a2 + "\n" + a3 + "\n运算次数:"+N;
                                        
    return true;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        
    return false;    
    }

    function Com(a,b,OO)
    {
        
    switch (OO){
               
    case 0:
                
    return parseFloat(a) + parseFloat(b);
               
    case 1:
                
    return parseFloat(a) - parseFloat(b);
               
    case 2:
                
    return parseFloat(a) * parseFloat(b);
               
    case 3:
                
    return parseFloat(a) / parseFloat(b);
            
    case 4:
                
    return parseFloat(b) - parseFloat(a);
            
    case 5:
                
    return parseFloat(b) / parseFloat(a);
        }
    }

    function ComF(a,b,OO)
    {
        
    switch (OO){
           
    case 0:
                
    return a + " + " + b + " = " + (parseFloat(a)+parseFloat(b));
           
    case 1:
                
    return a + " - " + b + " = " + (parseFloat(a)-parseFloat(b));
           
    case 2:
                
    return a + " * " + b + " = " + (parseFloat(a)*parseFloat(b));
           
    case 3:
                
    return a + " / " + b + " = " + (parseFloat(a)/parseFloat(b));
           
    case 4:
                
    return b + " - " + a + " = " + (parseFloat(b)-parseFloat(a));
           
    case 5:
                
    return b + " / " + a + " = " + (parseFloat(b)/parseFloat(a));
        }
    }
    </script>
    </head>

    <body>
    <p>
      
    <input name="a" type="text" value="1" />
      
    <input name="b" type="text" value="2" /> 
      
    <input name="c" type="text" value="3" /> 
      
    <input name="d" type="text" value="4" />
    </p>
    <p>
      
    <input type="button" name="Submit" value="按钮" onclick="js()" />
    </p>
    <div id=test></div>
    </body>
    </html>

     

  • 相关阅读:
    7、配置私有仓库
    springcloud服务调用 list集合解析错误处理方法
    Mybatis-Plus 条件构造器的使用
    Mybatis-Plus 自定义sql
    Navicat Premium 15 安装与激活
    使用阿里云短信验证
    vue+element 表单el-radio单选框回显不能被选中问题
    类似性别(0、1)判断的table列表数据渲染
    使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head
    docker 配置镜像加速
  • 原文地址:https://www.cnblogs.com/weekzero/p/503429.html
Copyright © 2020-2023  润新知