如何制作有序数字的三角形

时间:2016-04-20 19:09:57

标签: javascript


我正在为java制作代码,使三角形有序数字就像这样 1
2 3
4 5 6
7 8 9 10
这是用于循环。我只允许输入行。
如果我输入3并且将有 1
2 3
4 5 6
我怎么能这样做?请

        var rows= prompt("Jumlah baris");
        var color= prompt("color1:");
        var color1 = prompt("color2:");
        var d = 1;
        var bas = parseInt(rows);
        document.write("<table align=center  width=500 height=500 border=2>");
        for (i = 1; i <= rows; i++) {
            document.write("<tr>");
            for (l = 1; l <= i; l++) {
                if ((i + l) % 2 === 1) {
                    document.write("<td bgcolor=" + color + ">" + d + "</td>");
                    d++;
                } else {
                    document.write("<td bgcolor=" + color1 + ">" + d + "</td>");
                    d++;
                }
            }
            document.write("</tr>");
        }
        document.write("</table>");
    </script>

2 个答案:

答案 0 :(得分:1)

非常简单,真的 - 不要像你一样使用变量,而是使用一个值不断增加的变量。

<script type="text/javascript">
    var rows= prompt("input");
    var t = 1;
    for (i = 1; i <= rows; i++) {

        for (l = 1; l <= i; l++) {
            document.write(t + ' ');
            t++;
        }
        document.writeln(" <br/>");
    }
</script>

t会继续增加,因为我们从未重置它;它随l一起增加,但从不重置。

答案 1 :(得分:1)

当你做家庭作业时,至少要以有趣的方式做。

您需要一个循环和3行:

var r = prompt("input")|0;
for (i=1; i<=(r*r+r)/2; i++)
  document.write(i+(Math.sqrt(1+8*i)%2==1?'<br>':' '));

请参阅DEMO

我相信你会得到一些额外的分数来解释你是如何想出这样一个优雅的解决方案的。