跟着小白学~如何使用二维数组打印杨辉三角

今天我给大家带来的知识是“杨辉三角”,可能有些朋友听说过,没听说过的不要紧,就算同是身为小白的你看完本篇文章,也是可以敲出

杨辉三角的代码~~

    那么我先来给大家介绍下什么是"杨辉三角" :


杨辉三角

 
杨辉三角,又称贾宪三角帕斯卡三角形,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。
右图的表在我国南宋数学家杨辉1261年所著的《详解九章算法》一书里就出现了。

上图就是杨辉三角的排序顺序。
而上图就是我们今天学习的目标!在控制台中打印出以上数据顺序
如何你已经能独立的打印出以上数据说明你已经能熟练的运用,二维数组、双重for循环,首先我们先来谈谈什么是二维数组,二维数组
其实就是一个组 角标中有一维数 ,个人理解相当于一个一维数组的集装箱,
分析:
从上列顺序中我可以发现这个三角星的外面2条边都是1 ,而且发现没有每个数等于它上方两数之和,也许上方这个图很难观察问题,我们来看看直角版的
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6。。。。。
第一列:1+1=2、1+1+1=3、1+1+1+1=4
第二列:1+2=3、1+2+3=6、1+2+3+4=10
第三列:1+3=4、1+3+6=10、1+3+6+10=20
具体实现:
class Text{
public void show(int line){
int[][] arr = new int[line+1][line+1];/*定义二维数组,接收进来的数据并加以1这样可以防止数组角标越界,因为是从1开始的。*/
for(int y=1;y<=i;y++){//控制输出数据的循环
if(y==1){//判断是否是1如果是则输出
System.out.print("1");
arr[i][y]=1;//将是1的数据存入到二维数组
    }else if(i==y){//如何是和i相同就可以肯定他就是1
System.out.print("1");
arr[i][y]=1;
    }else{
System.out.print(arr[i-1][y-1]+arr[i-1][y]+"\t");//求出中间的数值
arr[i][y]=rr[i-1][y-1]+arr[i-1][y];
    }
}
System.out.println();
}
}
}
如果你传入的数据是10将会显示如下数据:


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值