java 利用一維陣列、二維陣列列印楊輝三角
阿新 • • 發佈:2018-12-18
列印楊輝三角 一維陣列
Triggle1.java
package 第一章; //利用一維陣列列印楊輝三角 import java.util.Scanner; public class Triggle1 { public static void value(int n) { int i=1; int triggle[] = new int[n]; for(i=0;i<n;i++) { triggle[i]=1;//末尾元素一直為1 for (int j=i-1;j>0;j--){ triggle[j]= triggle[j-1]+triggle[j]; } for(int k=n-i-1;k>0;k--) {//列印空格 System.out.print(" "); } for (int j=0;j<=i;j++) {//輸出該行的一維陣列 System.out.print(triggle[j]+" "); } System.out.println(); } } public static void main(String[] args){ System.out.println("請輸入楊輝三角的行數"); Scanner sca=new Scanner(System.in); int n=sca.nextInt(); value(n); } }
二位陣列
/*
楊輝三角
前兩行元素為一
自第三行開始除行首和行尾元素其餘元素為前一行元素的兩數之和
eg:
triggle[3][2]=triggle[2][1]+triggle[2][2]
*/
Triggle2.java
package 第一章; //利用二維陣列列印楊輝三角 import java.util.Scanner; public class Triggle2 { public static int[][] value(int n){ int[][] trg=new int[n][]; for(int i=0;i<trg.length;i++) { trg[i]=new int[i+1]; trg[i][0]=1; trg[i][i]=1; } for(int i=2;i<n;i++) { for(int j=1;j<i;j++) { trg[i][j]=trg[i-1][j]+trg[i-1][j-1]; } } return trg; } public static void print(int[][] trg,int n ) {//列印二位陣列 int k;//用來列印空格的變數 for(int i=0;i<trg.length;i++) { for(k=n-i-1;k>0;k--) { System.out.print(" "); } for(int j=0;j<i+1;j++) { System.out.print(trg[i][j]+" "); } System.out.println("\n"); } } public static void main(String[] args) { System.out.println("請輸入楊輝三角的行數"); Scanner sca=new Scanner(System.in); int n=sca.nextInt(); print(value(n), n); } }
執行結果