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

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();
   }
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值