Javascript 递归算法

内容纲要

听室友说校门口的旅店又爆满了。。。

Actionscript实现递归算法与Javascript的实现过程一样,所以顺便也写了一个Javascript的:

<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title></title>
        <script type="text/javascript">
            var BLACKHOLENMB = 6174;
            var count = 0;

            function blackHole(nmb) {
                if(isNaN(nmb) || nmb < 1000 || nmb > 9999) {
                    return -1;
                }
                count++;
                var tempArray = (nmb + "").split("");
                var smallNmb = parseInt(tempArray.sort().join(""));
                var bigNmb = parseInt(tempArray.reverse().join(""));
                var d_value = bigNmb - smallNmb;
                log(bigNmb, smallNmb, d_value, count);
                if(d_value != BLACKHOLENMB) {
                    return blackHole(d_value);
                } else {
                    return count;
                }
            }

            function log(big, small, d_value, count) {
                console.log("step " + count + ":" + big + "-" + small + "=" + d_value);
            }
            console.log(blackHole(2167));
        </script>
    </head>

    <body>
    </body>

</html>

发表评论

您的电子邮箱地址不会被公开。