利用js技术写一个三角形的杨辉三角
时间: 2024-03-21 15:44:11 浏览: 120
下面是利用JavaScript实现三角形杨辉三角的代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>三角形杨辉三角</title>
<meta charset="utf-8">
</head>
<body>
<script>
// 定义一个函数,生成三角形杨辉三角
function generateTriangle(rows) {
var triangle = []; // 定义一个数组,用于存储杨辉三角的每一行
for (var i = 0; i < rows; i++) {
var row = []; // 定义一个数组,用于存储杨辉三角的每一行的数字
for (var j = 0; j <= i; j++) {
if (j === 0 || j === i) {
row.push(1); // 第一项和最后一项为1
} else {
row.push(triangle[i - 1][j - 1] + triangle[i - 1][j]); // 其他项为上一行相邻两项之和
}
}
triangle.push(row); // 将当前行添加到triangle数组中
}
return triangle; // 返回杨辉三角
}
// 定义一个函数,将三角形杨辉三角转换成字符串
function triangleToString(triangle) {
var length = triangle[triangle.length - 1].length; // 获取最后一行的长度
var str = ''; // 定义一个空字符串,用于存储转换后的字符串
for (var i = 0; i < triangle.length; i++) {
var row = triangle[i];
var spaces = length - row.length; // 计算空格的数量
var halfSpaces = Math.floor(spaces / 2); // 计算左边空格的数量
var padding = ' '.repeat(halfSpaces); // 生成左边的空格
if (spaces % 2 !== 0) {
padding += ' '; // 如果空格数量为奇数,多添加一个空格
}
var rowStr = row.join(' '); // 将行的数字用空格连接成字符串
str += padding + rowStr + padding + '\n'; // 将左边的空格、数字、右边的空格和换行符连接成字符串
}
return str; // 返回转换后的字符串
}
// 调用函数生成三角形杨辉三角,并转换成字符串输出到控制台
var triangle = generateTriangle(10); // 生成10行的三角形杨辉三角
var str = triangleToString(triangle); // 将三角形杨辉三角转换成字符串
console.log(str); // 输出转换后的字符串
</script>
</body>
</html>
```
这段代码将生成一个10行的三角形杨辉三角,并将其输出到控制台。你可以根据需要修改行数。其中,generateTriangle函数用于生成杨辉三角,它接受一个参数rows表示要生成的行数,返回一个数组triangle,其中每个元素又是一个数组,表示杨辉三角的一行数字。利用嵌套的for循环,可以计算出杨辉三角的每个数字,并将其存储到triangle数组中。triangleToString函数用于将三角形杨辉三角转换成字符串,它接受一个参数triangle表示要转换的杨辉三角,返回一个字符串。利用循环遍历triangle数组,计算每行左边需要添加的空格数量,生成左边的空格,将数字用空格连接成字符串,再将左边的空格、数字、右边的空格和换行符连接成字符串。最后,将转换后的字符串输出到控制台。
阅读全文