杨辉三角
本篇文章采用如下的杨辉三角来讲解
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
分析
1.第一行 有 1 个数,第 n 行有 n 个数
2.第一个数和最后一个数都是1
3.从第三行开始,对于非第一个数和最后一个数的值,等于对应上一行的数 加上 上一行的前一个数
arr[i][j] arr[ i ] [ j] = arr[i - 1] [j] + arr[i - 1][ j - 1]
代码
// 因为上面是有 6 组一维数组,所以这里就为 6,
// 如果要打印 N 行 ,修改 6 即可
int yangHui[][] = new int[6][];
for (int i = 0; i < yangHui.length; i++) {
// 给每个一维数组 开辟空间
yangHui[i] = new int[i + 1];
// 给每一个一维数组 赋值
for (int j = 0; j < yangHui[i].length; j++) {
if (j ==0 || j == yangHui[i].length - 1) { // 第一个数和最后一个数
yangHui[i][j] = 1;
} else { // 中间的元素
yangHui[i][j] = yangHui[i - 1][j] + yangHui[i - 1][j - 1];
}
}
}
// 遍历打印出杨辉三角
for (int i = 0; i < yangHui.length; i++) {
for (int j = 0; j < yangHui[i].length; j++ ) {
System.out.print("\t" + yangHui[i][j] + " ");
}
System.out.println(); // 输完一组数据后换行
}
结果
总结
各位小伙伴们,看到分析后,还觉得难吗?
学习编程最重要的就是 理解、分析、思路,只要有了思路,走代码就不会太难
码文不易,还请各位多多支持