杨辉三角
今天用Java打印杨辉三角
首先先知道什么是杨辉三角
1.每个数等于它上方两数之和。
2.每行数字左右对称,由1开始逐渐变大,然后在逐渐变小,直到1。
例如:(此图来自百度)
现在可以开始了
首先根据杨辉三角的特性,我们会容易联想到利用二维数组的不规则数组来打印
我们先依次解决3个小问题:
1.new什么样的数组
根据杨辉三角的图,我们能确定杨辉三角中每行所有的数字数与行数相等,可得
int[][] nums = new int[n][];
for(int i = 0 ; i < nums.length ; i++){
//设i为高维下标,j为低维下标
nums[i] = new int[i + 1];
}
2.如何给数组赋值
根据杨辉三角的特性:
1)每行第一个与最后一个均为1,得
for(int i = 0 ; i < nums.length ; i++){
//设i为高维下标,j为低维下标
nums[i] = new int[i + 1];
for(int j = 0; j <= i ; j++){
if(j == 0 || j == i)