杨辉三角解题分析
1
1 1
1 2 1
1 3 3 1
分析:(先看格式,确定用几个for循环)
输入4
1.明显输入的是行数,所以一个for循环用来输出n行,
即:for(int i = 0;i<n;i++){}
2.之后再for 循环中输出每一行数字
3.分析每一行数字的规律,先从格式来看,第一行一个数,第二上两个数,第n行n个数,所以:
For(int i = 0;i<m;i++){
For(int j = 0;j<i+1;j++){
}
}才能输出以上格式。
每一行数字与上一行有关系,循环输出一些有规律的数字,用数组,下标为for循环中的变量。
第三行的2=第二行的1+1,如何确定两个1的位置?想到了二维数组,即
a[i][j]=a[i-1][j-1]+a[i-1][j];
定义二维数组:int[][] a = new int[34][34];
第一行和第二行都为1;所以if(i0||j0||i==1){a[i][j]=1}
否则a[i][j]=a[i-1][j-1]+a[i-1][j];
5、程序如下: