采用一维数组输出杨辉三角形

采用一维数组输出杨辉三角形_第1张图片

 如图所示,杨辉三角第n行有n个数字,第一个和最后一个都是1,中间的数字都和上一行有关联。

比如 第三行的2就是由第二行第一个和第二个相加而来

易得出来规律 

 arr[j]= arr[j]+arr[j-1]   是用一维数组来定义的

Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int arr[] =new int[n]; //第n行有n个元素

arr[0]=1;

System.out.println(arr[0]); //打印第一行的1

从第二行开始进行遍历,第二行因为j=0; for循环是从第三行开始生效的 

 第三行开始,j=1,就是第三行第二个arr[1]  等于第二行第二个+第二行第一个即arr[J]+arr[J-1]

 for (int i = 1; i 0; j--) {
              //杨辉三角形 第i行 j个元素 等于 第(i-1)行第j个元素+第(i-1)行第(j-1)个元素
                arr[j]=arr[j]+arr[j-1];
                // 左边求出来的arr[j]是下一行的,右边的arr[j] 和arr[j-1] 是上面一行的

            }
                
            //每一行最后一个都为 1
            arr[i]=1;
                


     打印杨辉三角
            for (int j = 0; j <=i ; j++) {
                System.out.print(arr[j]+" ");
            }

            System.out.println();
        }

    }

你可能感兴趣的:(数据结构,numpy,动态规划)