习题 *输出杨辉三角

杨辉三角如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1 ……
杨辉三角的特点:
1. 第i 行有i 个元素
2. 每一行的第一个元素和最后一个元素都为1
3. 除了1 之外,每个元素的值,都等于上一行同位置的元素以及前一个元素的和。
例如:
1 4 6 4 1 的下一行
1 a1 a2 a3 a4 1
a1 = 4 + 1 = 5
a2 = 6 + 4 = 10
a3 = 4 + 6 = 10
a4 = 1 + 4 = 5
依次类推。
要求:
读入一个整数n,输出杨辉三角的前n行;

思路及步骤:
1、定义原始数组a。即长度为1,元素值为1
2、输出a[0],完成第一次“遍历”。
3、定义for循环,循环表达式:i

        public static void chap_12()
        {
            int n = 15;
//可自定义
            int[] a = {1};
            System.out.println(a[0]);

            for(int i=0; i<n-1; i++)
            {
                int[] newa = new int[a.length+1];
                newa[0] = 1;
                newa[newa.length-1] = 1;        

                if(i==0)
                {
                    a = newa;
                    print(a);
                    continue;
                }

                for(int x=1; x<newa.length-1; x++)
                {
                    int p = a[x]+a[x-1];
                    newa[x] = p;
                }
                a = newa;
                print(a);   
            }
        }
        public static void print(int[] a)
//用于遍历数组
        {
            for(int j=0; j<a.length; j++)
            {
                System.out.print(a[j]+"\t");
            }
            System.out.println();
//起换行作用
        }
    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/l_laity/article/details/54652801
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞