【蓝桥杯】基础练习 杨辉三角形(Java实现)

【蓝桥杯】基础练习 杨辉三角形(Java实现)_第1张图片分析:
简单用一句话概括杨辉三角的特点就是每一行的首尾元素都是1,中间的每个数字等于它两肩上的数字相加,根据这个特点就可以实现代码了。

Java代码实现:

import java.util.Scanner;    
public class Main {    
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[][] arr = new int[n][n];
		//用二维数组存储杨辉三角
		for (int i = 0; i < n; i++) {
			arr[i][0] = arr[i][i] = 1;
			for (int j = 1; j < i; j++) {
				arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
			}
		}
		//打印出杨辉三角
		for(int i = 0; i < n; i++) {
			for(int j = 0;j <= i;j++) {
				System.out.print(arr[i][j] + " ");
			}
			System.out.println();
		}
	}    
}

还有另外一种做法:

import java.util.Scanner;    
public class Main {
		public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
        int[] a = null;
        System.out.println(1);
        for(int i=2;i<=n;i++){
            int[] s = new int[i];
            s[0] =s[i-1] = 1;
            System.out.print("1 ");
            for(int j=1;j<=i-2;j++){
                s[j] = a[j-1]+a[j];
                System.out.print(s[j]+" ");
            }
            System.out.println("1");
            a = s;
        }
	}
}

你可能感兴趣的:(蓝桥杯,算法)