标签: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