如何使这个素数表反向显示

时间:2014-02-04 18:21:55

标签: javascript html html-table numbers reverse

我创建了一个表格,显示2-1013的所有素数,但它从右下角到左上角显示,我希望它从左上角到右下角显示。我怎么做到这一点?

<!DOCTYPE HTML Public>
<html>

    <head>
        <title>Prime Numbers</title>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    </head>

    <body onload='CalcPrime()'>
        <script type='text/javascript'>
            function CalcPrime() {
                var setIt = 0;
                var count = 0;
                var num = 3;
                var primeArray = new Array();
                primeArray.unshift(2)

                while (count < 169) {
                    setIt = 0;
                    var i = 2

                    while (i < num + 1) {
                        if (num % i == 0) {
                            setIt = setIt + 1;
                        }
                        i = i + 1
                    }
                    if (setIt < 2) {
                        primeArray.unshift(num);
                        count = count + 1;
                    }
                    num = num + 1;
                }
                var a;
                document.write("<table cols='10' border='1'>");
                document.write("<tr><th colspan=10 border='1'>Prime Numbers 2-1013</th></tr>");
                for (var it = 0; it < 161; it = it + 10) {
                    document.write("<tr>");
                    for (var colm = 0; colm < 10; colm++) {
                        a = it + colm;
                        document.write("<td style='border:1px line;padding:10px;'>" + primeArray[a] + "</td>");
                    }
                }
            }
        </script>
    </body>

</html>

3 个答案:

答案 0 :(得分:0)

这会让你走近。基本上,相反,如果递增索引,则递减它们。不是从0开始,而是从最终数字开始,然后将向下变为零。换句话说,扭转你的循环。

for (var it = 161; it >= 0; it -= 10) {
    document.write("<tr>");
    for (var colm = 10; colm >= 0; colm--) {
        a = it + colm;
        document.write("<td style='border:1px line;padding:10px;'>" + primeArray[a] + "</td>");
    }
}

它还不完美,但现在这会让你接近。在我稍微调整之后我会编辑。

答案 1 :(得分:0)

在编写表格之前,请通过添加以下内容来反转primeArray变量:

primeArray = primeArray.reverse();

答案 2 :(得分:0)

如果将值推到数组而不是取消它们,那么它们会将它们放在数组的末尾而不是开始。哪个会完全符合你的要求。