【程式33】 題目:打印出楊輝三角形
阿新 • • 發佈:2019-02-19
/* 2017年3月9日17:08:49 java基礎50道經典練習題 例33 Athor: ZJY Purpose: 【程式33】 題目:打印出楊輝三角形(要求打印出10行如下圖) 程式分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 */ import java.util.Scanner; public class ProgramNo33_1 { public static void main(String[] args) { System.out.print("請輸入楊輝三角需要輸出的層數: "); Scanner sc = new Scanner(System.in); int number = sc.nextInt(); yangHuiTrigon(number); } private static void yangHuiTrigon(int n) { if(12 < n) { System.out.print("不要大於12層!"); return; } int[][] array = new int[n][n]; for (int i=0; i<array.length; i++) { for(int k=i; k<n+n/4; k++) System.out.print(" "); for (int j=0; j<i+1; j++) { if((0 == j)||(i == j)) { array[i][j] = 1; }else { array[i][j] = array[i-1][j-1]+array[i-1][j]; } if(array[i][j] > 99) { System.out.print(array[i][j]+" "); }else if(array[i][j] > 9){ System.out.print(array[i][j]+" "); }else{ System.out.print(array[i][j]+" "); } } System.out.println(); } //printArray(array); } private static void printArray(int[][] array) { for (int i=0; i<array.length; i++) { for (int j=0; j<array[i].length; j++) { System.out.print(array[i][j]+" "); } System.out.println(); } } }
/* 2017年3月9日17:08:49 java基礎50道經典練習題 例33 Athor: ZJY Purpose: */ public class ProgramNo33_2 { public static void main(String[] args){ int[][] n = new int[10][21]; n[0][10] = 1; for(int i=1; i<10; i++) for(int j=10-i; j<10+i+1; j++) n[i][j] = n[i-1][j-1]+n[i-1][j+1]; for(int i=0; i<10; i++) { for(int j=0;j<21;j++) { if(n[i][j] == 0) System.out.print(" "); else{ if(n[i][j] < 10) System.out.print(" "+n[i][j]);//空格為了美觀需要 else if(n[i][j] < 100) System.out.print(" "+n[i][j]); else System.out.print(n[i][j]); } } System.out.println(); } } }