NodeJS打印金字塔和空心金字塔
代码:
function printPyramid(totalLevel) {
/*
打印金字塔
1 *
2 ***
3 *****
规律:
每层 * 个数 = 2n - 1
每层 前空格 = 总层数 - n (后空格 不用管 直接通过 打印换行实现)
*/
// i 代表层数
for (let i = 1; i <= totalLevel; i++) {
// j 表示 * 数
// 打印前空格
for( let k =1; k <= totalLevel - i; k++) {
process.stdout.write(" ")
}
// 打印 *
for ( let j = 1; j <= 2 * i - 1; j++) {
process.stdout.write("*")
}
console.log()
// process.stdout.write("\n")
}
/*
打印空心金字塔
1 *
2 * *
3 * *
4 *******
规律:
除了最后一层的*全打印,其余层只打第一个和最后一个*
*/
console.log()
// process.stdout.write("\n")
// i 代表层数
for (let i = 1; i <= totalLevel; i++) {
// j 表示 * 数
// 打印前空格
for (let k =1; k <= totalLevel - i; k++) {
process.stdout.write(" ")
}
// 打印 *
for (let j = 1; j <= 2 * i - 1; j++) {
if (j == 1 || j == 2 * i - 1 || i == totalLevel) {
process.stdout.write("*")
} else {
process.stdout.write(" ")
}
}
console.log()
// process.stdout.write("\n")
}
}
printPyramid(10)
output
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*
* *
* *
* *
* *
* *
* *
* *
* *
*******************