Java——杨辉三角

 题目描述:打印 n 行杨辉三角    
    1                            n=1
    1 1                         n=2
    1 2 1                      n=3
    1 3 3 1                   n=4
    1 4 6 4 1                n=5
    1 5 10 10 5 1         n=6
    1 6 15 20 15 6 1    n=7

思路:

1、第n行有n个数字

2、每行第一个元素和最后一个元素都是1

3、从第三行开始,中间数字规律 a[i][j] = a[i-1][j-1] + a[i-1][j];

注意:杨辉三角可看作一个列数不定的二维数组,因此在操作中先为二维数组开空间存放一维数组的地址,再为一维数组开空间存值

//打印 n 行杨辉三角	
/*  1					n=1
	1 1 				n=2
	1 2 1				n=3
	1 3 3 1 			n=4
	1 4 6 4 1 			n=5
	1 5 10 10 5 1 		n=6
	1 6 15 20 15 6 1	n=7

*/
import java.util.Scanner;
public class YangHuiTriangle
{
	public static void main(String[] args)
	{
		int n;// n 行杨辉三角
		Scanner myScanner = new Scanner(System.in);
		System.out.println("===需要打印的行数===");
		n = myScanner.nextInt();
		
		int[][] arr = new int[n][];//列数不定
		
		for(int i = 0; i < arr.length; i++)
		{
			arr[i] = new int[i + 1];//为二维数组里的一维数组开空间
			for(int j = 0; j < arr[i].length; j++)
			{
				if(j == 0 || j == arr[i].length - 1)//每行的第一个数和最后一个数为1
					arr[i][j] = 1;
				else//除了两边就是中间
					arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];//从第3行开始中间数字的规律
			}
		}
		System.out.println("===打印杨辉三角===");
		for(int i = 0; i < arr.length; i++)
		{
			for(int j = 0; j < arr[i].length; j++)
			{
				System.out.print(arr[i][j] + " ");
					
			}
			System.out.println();
		}
	}
}

本次介绍了如何打印杨辉三角的方法,并且总结了操作中的思路和规律。我的另一篇http://t.csdn.cn/Hpzic介绍了有关数组扩容和拷贝的方法,感兴趣的话可以康康哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值