題目: 實現楊輝三角。
1、理清思路,用 二維數組 展示模型。
2、解析三角:
2.1 第 n 行有 n 個數字
2.2 每行的第一個數字和最後一個數字均爲 1
2.3 第 i 行的第 j 個數字的值 = 第 i-1 行的第 j-1 個值 + 第 i-1 行的第 j 個值
例如: 第6行的第3個數(10)= 第5行的第2個數(4) + 第5行的第3個數(6)
3、結合1與2開始寫代碼~
3.1 框架:
import java.util.Scanner;
public class TestYangHui{
public static void main(String[] args){
System.out.print("請輸入楊輝三角的行數(n):");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int[][] array=new int[n][n]; //創建一個二維數組,高維長度與低維長度均爲 n 。
for(int i=0;;){ //行
for(int j=0;;){ //列
//代碼
System.out.print(array[i][j]+"\t");
}
System.out.println();
}
}
}
3.2 結合上文2.2與2.3的內容補全代碼:
import java.util.Scanner;
public class TestYangHui{
public static void main(String[] args){
System.out.print("請輸入楊輝三角的行數(n):");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int[][] array=new int[n][n]; //創建一個二維數組,高維長度與低維長度均爲 n 。
for(int i=0;i<n;i++){ //行:行數應與輸入的n相等
for(int j=0;j<=i;j++){ //列:注意列數是逐行增加的!
if(j==0 || j==i){
array[i][j]=1; //實現2.2
}else{
array[i][j]=array[i-1][j-1]+array[i-1][j]; //實現2.3
}
System.out.print(array[i][j]+"\t");
}
System.out.println();
}
}
}
完成!