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]+” “);
            }
        }*/
    }
}
 

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/qq_35634418/article/details/83064608
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞