实现杨辉三角的思路及代码

来源:互联网 发布:中国税务网络大学门 编辑:程序博客网 时间:2024/04/28 04:36

import java.util.*;
/*杨辉三角形
* 1
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
* 分析:看这种图像的规律
* 1:任何一行的第一列跟最后一列都是1
* 2:从第三行开始,每一个数据都是它上一行的前一列跟上一行的本列之和
* 步骤
* 1:首先定义一个二维数组,行数如果为n,那么先将列数也为n ,n这个数 据由键盘输入
* 2:给这个二维数组的任意一行的第一列跟最后一列赋值为1;
* 3:按照此规律给其他元素赋值
* 从第三行开始,每一个数据都是它上一行的前一列跟上一行的本列之和
* 遍历二维数组/
运行程序后的结果

代码:

public class Array2Demo {    public static void main(String[] args) {        //从键盘中获取值    Scanner sc = new Scanner (System.in);    System.out.println("请输入N值:");    int n =sc.nextInt();    //创建一个二维数组    int[][] array = new int[n][n];    //任意一行的第一列跟最后一列赋值为1    for(int x = 0 ;x < array.length;x++){        array[x][0]=1;        array[x][x]=1;          }    //按照规律给各个元素赋值    //从第三行起,每个数据的值都是上一行的前一列 跟上一行的本列之和    for(int x=2;x<array.length;x++){        //因为第一列已经赋值了,所以从第二行开始  Y从1开始        //如果y=x那么会有个小问题也就是最后一列的问题最后一列也赋值过了        //所以要减去1        for(int y=1;y<=x-1;y++){            array[x][y]=array[x-1][y-1]+array[x-1][y];        }    }    //遍历整个二维数组    for(int x=0;x<array.length;x++){       for(int y=0;y<=x;y++){           System.out.print(array[x][y]+"\t");       }       System.out.println();   }}}
0 0
原创粉丝点击