Javascript

NodeJS打印金字塔和空心金字塔

本文主要是介绍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

         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************

         *
        * *
       *   *
      *     *
     *       *
    *         *
   *           *
  *             *
 *               *
*******************
这篇关于NodeJS打印金字塔和空心金字塔的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!