本博客将介绍如何使用Java编程实现杨辉三角。
实现原理:
①每一行的第一列数为1;
②每一行的最后一列数为1;
③某行某列数 = 上一行该列数 + 上一行(该列-1)数
以下为代码实现:
import org.junit.Test;
/**
* 杨辉三角
* @author Administrator
*
*/
public class YangHui {
@Test
public void test() {
/**
* ①第一列数为1;
* ②最后一列数为1;
* ③该数=此列上一行数+此列上一行数的前一个数
*/
//创建一个二维数组
int [][] arr = new int[10][10];
//为每一列动态分配空间
for (int i = 0; i < arr.length; i++) {
arr [i] = new int[i+1];
}
//赋值
for (int i = 0; i < arr.length; i++) {
arr[i][0] = 1; //每一行的第一列数为1
arr[i][i] = 1; //每一行的最后一列数为1
for (int j = 1; j < i; j++) {
arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
}
}
//输出数组值
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(" "+arr[i][j]);
}
System.out.println();
}
}
}
运行后结果如下图所示: