js杨辉三角问题
作者:互联网
1.问题描述
杨辉三角是一个经典问题,在许多编程语言中都能遇到,相比于C语言不同,C语言中可以直接利用二维数组解决该问题,题目如下:
打印杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
按照以上的规律打印出来;
2.问题分析:
通过寻找规律,我们不难发现,第一列以及每一行的最后一个数字都为1,而其他的数字都是同一列的上一行那个数加上那个数的前面一个数得到结果;
因此,我们先利用一个递归函数从而得到各个位置的值,再通过两次for循环调用函数,通过字符串拼接得到每一行的结果打印出来便得到了所求的杨辉三角。
3.代码实现
//递归函数得到各个值 function value(row,col){ if(col==1||col==row){ return 1; }else{ return value(row-1,col)+value(row-1,col-1); } } for(var i = 1;i<10;i++) { str = ""; for(var j = 1;j<=i;j++){//每一行的元素个数等于行数 str += value(i,j)+'\t';//字符串拼接得到每一行结果 } console.log(str); }
标签:10,value,js,问题,str,杨辉三角,col,row 来源: https://www.cnblogs.com/lwqboke/p/16541681.html