1. 程式人生 > >java程式設計--圖表(三)楊輝三角問題

java程式設計--圖表(三)楊輝三角問題

package com.neuedu.one; //楊輝三角問題

import java.util.Scanner;

public class Ch3 { /* 根據輸入行數打印出楊輝三角形,如下: 1 1     1 1     2     1 1     3     3     1 1     4     6     4     1 1     5     10     10     5     1 1     6     15     20     15     6     1

a[i][j]=a[i-1][j-1]+a[i-1][j] n>i>=2,1=<j<=n-2

三角形裡的任意一個數字正好等於它正上方的數字和左上角的數字之和 第幾行就有幾個數字  */     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         System.out.println("請輸入顯示行數(n>2):");         int n = scanner.nextInt();                  //定義一個二維陣列         int[][] arr = new int[n][n];

        for(int i = 0; i < arr.length; i++) {             arr[i][0] = 1;             arr[i][i] = 1;                      }                  for(int m = 2; m < n; m++) {//行             for(int k = 1; k <= n-2; k++) {//列                                 arr[m][k]= arr[m-1][k-1]+arr[m-1][k];             }         }                          //列印二維陣列         for(int i = 0; i < arr.length; i++) {             for(int j = 0; j <= i; j++) {                 System.out.print(arr[i][j]+" ");             }             System.out.println();         }     } }  

-------------------------------------------------------------------------------------------------------------------------

package com.neuedu.one;

import java.util.Scanner;

//楊輝三角問題 public class Ch4 { /*    輸出如下圖形                                             1                         1        1                     1        2        1                 1        3        3        1             1        4        6        4        1         1        5        10        10        5        1     1        6        15        20        15        6        1 1        7        21        35        35        21        7        1

輸入n行 a[n][2n-1] a[0][n-1]=1  a[1][6] a[2][5]......1             a[1][8] a[2][9] a[2][7]=a[1][6]+a[1][8] a[i][j]=a[i-1][j-1]+a[i-1][j+1];  i>=2&&i<n j>=2&&j<=2n-4 */     public static void main(String[] args) {                  Scanner scanner = new Scanner(System.in);         System.out.println("請輸入顯示的行數:");         int n = scanner.nextInt();                  int[][] arr = new int[n][2*n-1];                  for(int i = 0; i < n;i++) {                     arr[i][n-1-i] = 1;             arr[i][n-1+i] = 1;         }                  for(int i = 2; i < n; i++) {             for(int j = 2; j <= 2*n-4; j++) {                 arr[i][j] = arr[i-1][j-1]+arr[i-1][j+1];             }         }                                    //列印         for(int i = 0; i < arr.length; i++) {             for(int j = 0; j < arr[i].length; j++) {                 if(arr[i][j] == 0) {                     System.out.print("  ");                 }else {                     System.out.print(arr[i][j]+" ");                 }                          }             System.out.println();         }           

    /*    int a[][] = new int[2][2];         a[0][0] = 1;         a[0][1] = 2;         a[1][1] = 3;         for(int i = 0; i < a.length; i++) {             for(int j = 0; j < a[i].length; j++) {                 System.out.println(a[i][j]+" ");             }         }*/     } }