打印出杨辉三角形(要求打印出10行如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

xiaoxiao2021-02-28  51

**  * 打印出杨辉三角形(要求打印出10行如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1  * @author Dreamweaver  *  */ public class Dmeo33 {     public static void main(String[] args) {         int yh[][] = new int [10][10];         //把外层的1存放到数组中         for(int i=0;i<10;i++) {             for(int j=0;j<10;j++) {                 if(i==j) {                     yh[i][j] = 1;                 }             }         }         //把第一列的1存放到数组中         for(int i=1;i<10;i++) {             yh[i][0]=1;         }         //把中间变化的数存放到数组中         for(int i=2;i<10;i++) {             for(int j=1;j<i;j++) {                 yh[i][j] = yh[i-1][j-1]+yh[i-1][j];             }         }         //遍历二维数组         for(int i=0;i<yh.length;i++) {             for(int j=0;j<=i;j++) {                 System.out.print(yh[i][j]+" ");             }             System.out.println();         }     } }

//第二种方法

public static void main(String[] args) {        System.out.println("请输入一个数据");        Scanner sc = new Scanner(System.in);        int num = sc.nextInt();        int[][] arr = new int[num][];        // for        for(int i=0;i<arr.length;i++){            arr[i] = new int[i+1];            for(int j=0;j<=i;j++){                if(j==0||i==j){                    arr[i][j]=1;                }else{                    arr[i][j] = arr[i-1][j]+arr[i-1][j-1];                }            }        }                for(int i=0;i<arr.length;i++){            for(int j=0;j<arr[i].length;j++){                System.out.print(arr[i][j]+" ");            }            System.out.println();        }    }

转载请注明原文地址: https://www.6miu.com/read-2350232.html

最新回复(0)