设计杨辉三角

版权声明:本文章博主原创,希望对你有所帮助。 https://blog.csdn.net/sakenc/article/details/90604494

效果图:

1
在这里插入图片描述
2
在这里插入图片描述
源码:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>输出杨辉三角</title>
    <script type="text/javascript">
        function print(v) {	//输出函数
            //如果传递值为输出的数字,则包含在一个<span>标签中,以方便CSS控制
            if (typeof v == "number") {
                var w = 40; 	//默认<span>标签宽度
                if (n > 30) w = (n - 30) + 40; 	//根据幂数的增大,适当调整<span>标签的宽度
                var s = '<span style="padding:4px 2px;display:inline-block;text-align:center;width:' + w + 'px;">' + v + '</span>';
                document.write(s); 	//在页面中输出字符串
            }
            else {	//如果参数值为字符串,说明是输出其他字符串
                document.write(v); 	//则调用document对象的write()方法直接输出
            }
        }
        //输入接口,用来接收用户设置幂数
        var n = prompt("请输入幂数:", 9); 	//默认值为9
        n = n - 0;	//把输入值转换为数值类型
        var t1 = new Date();
        var a1 = [1, 1], a2 = [1, 1]; 	//生命并初始化数组
        print('<div style="text-align:center;">'); 	//输出一个包含框
        print(1); 	//输出第一行中的数字
        print("<br />");
        for (var i = 2; i <= n; i++) { 	//从第三行开始,遍历每一行
            print(1); 	//输出每一行中第一个数字
            for (var j = 1; j < i - 1 ; j++) { 	//从第2个数字开始,遍历每一行
                a2[j] = a1[j - 1] + a1[j];
                print(a2[j]); 	//输出每一行中中间的数字
            }
            a2[j] = 1; 	//补上最后一个数组元素的值
            for (var k = 0; k <= j; k++) {	//把上一行数组的值传递给下一行数组
                a1[k] = a2[k];
            }
            print(1); 	//输出每一行中最后一个数字
            print("<br />");	//输出换行符
        }
        print("</div>");	//输出包含框的封闭标签
        var t2 = new Date();
        print("<p style='text-align:center;'>耗时为(毫秒):" + (t2 - t1) + "</p>");
    </script>
</head>
<body>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/sakenc/article/details/90604494
今日推荐