美文网首页
枚举算法:万里挑一

枚举算法:万里挑一

作者: duJing | 来源:发表于2017-01-04 15:10 被阅读5次
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>枚举算法:万里挑一</title>
    <style>
    span {
    margin-left: 10px;
    }
    </style>
    <script>
    /*
    * 问题描述;有时候,我们需要从万千数据中找出一个合适的值
    * 怎么做?通过for循环+if判断来实现
    *
    * 具体案例:求下面各个数位上的值
    * 枚 举 算 法 题
    * * 枚
    * ----------------
    * 题 题 题 题 题 题
    * */

    window.onload = function () {
    var aP = document.getElementsByTagName('p');
    var aSpan1 = aP[0].getElementsByTagName('span');
    var aSpan2 = aP[1].getElementsByTagName('span');
    var aSpan3 = aP[2].getElementsByTagName('span');


    // 遍历一个行p标签下的span中的值
    for (var i = 1; i <= 9; i++) {
    for (var j = 0; j <= 9; j++) {
    for (var k = 0; k <= 9; k++) {
    for (var m = 0; m <= 9; m++) {
    for (var n = 0; n <= 9; n++) {
    // 第一行数字: 枚 举 算 法 题
    var a = 10000 * i + 1000 * j + 100 * k + 10 * m + n;
    // 第二行数字: 枚
    var b = i;
    // 第三行数字: 题 题 题 题 题 题
    var c = 111111 * n;
    // 判断 a*b === c
    if (a * b === c) {
    // 第一行数字赋值
    aSpan1[0].innerHTML = i;
    aSpan1[1].innerHTML = j;
    aSpan1[2].innerHTML = k;
    aSpan1[3].innerHTML = m;
    aSpan1[4].innerHTML = n;

    // 第二行数字赋值
    aSpan2[0].innerHTML = i;

    // 第三行数字赋值
    for (var x = 0; x < aSpan3.length; x++) {
    aSpan3[x].innerHTML = n;
    }
    }
    }
    }
    }
    }
    }
    }


    </script>
    </head>
    <body>
    <div>
    <p style="margin-left: 36px;"><span>枚</span><span>举</span><span>算</span><span>法</span><span>题</span></p>
    <p>* <span style="position: absolute;left: 150px;top:50px;">枚</span></p>
    <hr>
    <p style="margin-left: 12px;"><span>题</span><span>题</span><span>题</span><span>题</span><span>题</span><span>题</span>
    </p>
    </div>
    </body>
    </html>

    相关文章

      网友评论

          本文标题:枚举算法:万里挑一

          本文链接:https://www.haomeiwen.com/subject/iowovttx.html