码迷,mamicode.com
首页 > 编程语言 > 详细

二维数组打印杨辉三角

时间:2017-09-24 23:42:07      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:join()   adl   alt   对齐   无法   2.0   png   分享   logs   

一共搞了三个版本~虽然核心算法是一样的,但是我说是三个就是三个!!!

一、普通版

let readline=require("readline-sync");
console.log("请输入杨辉三角的行数:");
let line = parseInt(readline.question(""));
let arr=[[1],[1,1]];
for(let i=2;i<line;i++){
	arr[i]=[];
	for(let j=0;j<=i;j++){
		arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
		if (j==0||j==i) {
			arr[i][j]=1;
		}
	}
}
for(let i=0;i<line;i++){
	let str="";
	for(let j=0;j<line-i;j++){
		str+=" ";
	}
	str+=arr[i].join();
	console.log(str);
}

  效果:

技术分享

由于三角无法对齐,所以有了改进版~

 

二、改进版

let readline=require("readline-sync");
console.log("请输入杨辉三角的行数:");
let line = parseInt(readline.question(""));
let arr=[[1],[1,1]];
for(let i=2;i<line;i++){
	arr[i]=[];
	for(let j=0;j<=i;j++){
		arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
		if (j==0||j==i) {
			arr[i][j]=1;
		}
	}
}
for(let i=0;i<line;i++){
	let str="";
	let n=(arr[line-1].join().length-arr[i].join().length)/2;
	for(let j=0;j<n;j++){
		str+=" ";
	}
	str+=arr[i].join();
	console.log(str);
}

  效果:

技术分享

这个三角看起来还是怪怪的诶~所以有了改进版2.0

 

三、改进版2.0

let readline=require("readline-sync");
console.log("请输入杨辉三角的行数:");
let line = parseInt(readline.question(""));
let arr=[[1],[1,1]];
for(let i=2;i<line;i++){
	arr[i]=[];
	for(let j=0;j<=i;j++){
		arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
		if (j==0||j==i) {
			arr[i][j]=1;
		}
	}
}
for(let i=0;i<line;i++){
	let str="";
	let n=(arr[line-1].join().length-arr[i].join().length)/2;
	for(let j=0;j<n;j++){
		str+=" ";
	}
	str+=arr[i].join();
	console.log(str+"\n");
}

  效果:

 技术分享

这次看起来是不是舒服多啦~感觉自己棒棒哒,给自己鼓鼓掌!【啪啪啪】

二维数组打印杨辉三角

标签:join()   adl   alt   对齐   无法   2.0   png   分享   logs   

原文地址:http://www.cnblogs.com/tortoises/p/7588956.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!