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