Java-杨辉三角

开始
涉及到的知识一维数组,二维数组,for循环
为了容易看规律,来个山寨版杨辉三角

package com.ewtest;

public class Seven {

	public static void main(String[] args) {
		int m=10;               //假设打印九层杨辉三角
		int a[][]=new int[10][10];  //定义一个二维数组a
		a[0][1]=1;   //赋值第一个元素的值,用于获得后面的值
		for(int i=1;i<m;i++){
			for(int j=1;j<=i;j++){
				a[i][j]=a[i-1][j]+a[i-1][j-1];
				System.out.print(a[i][j]+" ");
			}
			System.out.println();
		}
	}

}

结果:
在这里插入图片描述
从上图中我们可以找到以下规律

  • 假设行为n,则第n行就有n个元素即数字。

  • 每一行第一个元素和最后一个元素都为1。

  • 每一个元素的值都为这个元素的上面的元素的值加上上面元素的左边元素的值

OK。现在各位可以开始入手盗版杨辉三角了。


接下来就是正版形态的杨辉三角。

代码:

package com.ewtest;

public class Seven {

	public static void main(String[] args) {
		int m=10;               //假设打印九层杨辉三角
		int a[][]=new int[10][10]; //定义一个二维数组a
		a[0][1]=1;   //赋值第一个元素的值,用于获得后面的值
		for(int i=1;i<m;i++){
			for (int k =1 ; k <= m-i; k++) {
				System.out.print(" ");
			}
			for(int j=1;j<=i;j++){
				a[i][j]=a[i-1][j]+a[i-1][j-1];
				System.out.print(a[i][j]+" ");
			}
			System.out.println();
		}
	}

}

结果:
在这里插入图片描述
出现这个正版杨辉三角图的原因想必各位以及看出来了,就是多了这一段代码

for (int k =1 ; k <= m-i; k++) {
				System.out.print(" ");
			}

原理是指定每一行数量都一样,没有元素的地方就有空格补齐,即每一行总数s=元素个数n+(s-n)个空格,通过for循环是元素减少,空格变多,这样一层一层的用空格挤,就变成了正版的杨辉三角了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值