A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 爱学习爱java.. 中级黑马   /  2016-8-5 08:36  /  406 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[Java] 纯文本查看 复制代码
public class YangHui {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n = 6;
		int[][]arr=new int[n][n];
		for(int x=0;x<arr.length;x++){
			arr[x][0]=1;
			arr[x][x]=1;
		}
		for(int x=2;x<arr.length;x++){
			for(int y=1;y<=x-1;y++){
			arr[x][y]=arr[x-1][y-1]+arr[x-1][y];
			System.out.print(arr[x][y]+"\t");
					}
			System.out.println();
		}
		
	}
		
}

提问:为什么输出结果是这样的,没有定义的第一行和最后一行数据为1。
2
3   3
4   6   4
5   10  10   5

3 个回复

倒序浏览
你这个算法有问题,而且你的第一行数据并没有打印
回复 使用道具 举报
jiajun 发表于 2016-8-5 08:58
你这个算法有问题,而且你的第一行数据并没有打印

怎么修改下呢..
回复 使用道具 举报
jiajun 发表于 2016-8-5 08:58
你这个算法有问题,而且你的第一行数据并没有打印

[Java] 纯文本查看 复制代码
public class YangHui {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n = 6;
		int[][]arr=new int[n][n];
		for(int x=0;x<arr.length;x++){
			arr[x][0]=1;
			arr[x][x]=1;
		}
		for(int x=2;x<arr.length;x++){
			for(int y=1;y<x;y++)
			arr[x][y]=arr[x-1][y-1]+arr[x-1][y];
			
		}
		for(int x=0; x<arr.length; x++) {
			for(int y=0; y<=x; y++) {
				System.out.print(arr[x][y]+"\t");
			}
			System.out.println();
			}
	}
		
}
改好了,嘿嘿,谢谢提醒,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马