打印杨辉三角--for循环

来源:互联网 发布:淘宝衣服背景图片 编辑:程序博客网 时间:2024/06/07 00:30

要求打印7行直角杨辉三角

杨辉三角特点:

第1行和第2行数字都为1;
从第三行开始,除去开头和结尾数字为1,中间数字为上一行斜对角两个数字的和。
如下图:
这里写图片描述

打印结果:
这里写图片描述

代码如下:

package 杨辉三角;public class Test2 {    public static void main(String[] args){        //建立以数组用于存储上一行的数据,因为是从第三行开始中间数是上一行斜对角的两数之和        //所以开始先存第二行的数据,然后在每次用完数组后,改变数组的长度,存储当前行的数据,        //用于下一行数据的计算        int k=2;        int[] temp=new int[k];        temp[0]=temp[k-1]=1;        for(int i=1;i<8;i++){            //建立数组,存取当前行数据            int[] arr=new int[i];            //给当前行数组赋值            for(int j=0;j<i;j++){                //先给第一个和最后一个数赋值                if(j==0||j==i-1){                    arr[j]=1;                }else{                    //中间数为上一行斜对角的两数之和                    arr[j]=temp[j-1]+temp[j];                }            }            //给当前行赋值完毕后让k+1,增加数组长度,用于存取当前行的数据            k++;            temp=new int[k];            //打印当前行数组,并给新temp赋值,便于下一行使用当前行数据            for(int y=0;y<arr.length;y++){                temp[y]=arr[y];                System.out.print(arr[y]+" ");            }            System.out.println();        }    }}

扩展延伸:
通过后台控制打印几行,并要求打印出来的是等腰三角形

0 0