杨辉三角一直以来都是一个非常经典的算法题,小编今天小小的敲了一哈,哎呦,感觉不错。
总结一下:其实最主要的还是发现其中的规律,然后理清思路,然后将思路转化为我们熟悉的代码!
咳咳咳,情况就是这样一个情况,事情就是这样一个事情,接下来就进入今天的小猪蹄————杨辉智慧的产物之杨辉三角
/*杨辉三角
* 1
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
* 1 5 10 10 5 1
*
*先观察其规律:
* 1.每一行第一列和最后一列都为1
* 2.从第三行开始,每一个数据是上一行前一列与上一行本列数据之和
* 最后一列和第一列除外。
*
*步骤:
* 1.创建一个二维数组;
* 2.将第一列和最后一列设为1;
* 3.按照规律:每一个数据是上一行前 *
* 4.遍历数组;
*
* */
import java.util.Scanner;
public class c {
public static void main(String[] args) {
System.out.println("请输入所要显示杨辉三角的行数:");
Scanner in = new Scanner(System.in);
int Line = Integer.parseInt(in.nextLine());
int[][] arr = new int[Line][Line];
for(int i = 0; i < arr.length; i++){
arr[i][0] = 1;
arr[i][i] = 1;
}
for(int i = 2; i < arr.length; i++){
for(int j = 1; j <= i-1 ; j++){
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
for(int i = 0; i < arr.length ; i++){
for(int j = 0; j <= i ; j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}