杨辉三角形(java)
首先让我们来看看杨辉三角形的结构:
- 要求一:有一个数第二层有两个数
- 要求二:每一层第一个跟最后一个数字都是一**
- 要求三:除了数字一以外其他数字等于头上两数之和
- 要求四:第一层前有八个空格到第七层两个空格追曾递减
首先让我们来实现要求一
private static void Zuoye8() {
for (int i = 0; i <7 ; i++) {
for (int j = 0; j <=i ; j++) {
System.out.print("0");
}
System.out.println();
}
}
再来看看要求二
private static void Zuoye8() {
for (int i = 0; i <7 ; i++) {
for (int j = 0; j <=i ; j++) {
if(j==0||j==i)
{
System.out.print("1");
}else
System.out.print("0");
}
System.out.println();
}
}
通过对i跟j的关系来判断何时赋值为0何时赋值为1
对于要求三
要求三则需要一个二维数组来实现我们可以用 i 跟 j 来表示x轴与y轴来实现赋值跟加减
private static void Zuoye8() {
int a[][]=new int[6][6];
for (int i = 0; i <6; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
a[i][j] = 1;
} else if (i >= 2 && j >= 1) {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
}
for (int i = 0; i <6; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(" "+a[i][j]);
}
System.out.println();
}
}
最后一步给三角形前面加上空格
每一排的空格数字都应该比下一排多一个
以最后一排为0来设定基准线第一排应该为五个
private static void zuoye7() {
int a[][]=new int[6][6];
for (int i = 0; i <6; i++) {
for (int j = 0; j <=i ; j++) {
if(j==0||j==i)
{
a[i][j]=1;
}
else if (i>=2&&j>=1){
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
}
for (int i = 0; i < 6; i++) {
for (int j = 0; j <a.length-1-i; j++) {
System.out.print("\t");
}
for (int j = 0; j <=i ; j++) {
System.out.print("\t\t"+a[i][j]);
}
System.out.println();
}
}
杨辉三角形实现了