当前位置:首页 > 开发 > 编程语言 > Java > 正文

java杨辉三角

发表于: 2015-01-22   作者:3213213333332132   来源:转载   浏览:
摘要: package com.algorithm; /** * @Description 杨辉三角 * @author FuJianyong * 2015-1-22上午10:10:59 */ public class YangHui { public static void main(String[] args) { //初始化二维数组长度 int[][] y
package com.algorithm;

/**
 * @Description 杨辉三角
 * @author FuJianyong
 * 2015-1-22上午10:10:59
 */
public class YangHui {
	public static void main(String[] args) {
		//初始化二维数组长度
		int[][] yanghui = new int[10][];

		/*
		 * 动态初始化二维数组
		 * 第一步	杨辉三角初始化		
			0	
			0	0	
			0	0	0	
			0	0	0	0	
			0	0	0	0	0	
			0	0	0	0	0	0	
			0	0	0	0	0	0	0	
			0	0	0	0	0	0	0	0	
			0	0	0	0	0	0	0	0	0
		 */
		for(int i=0;i<yanghui.length;i++) {
			   yanghui[i] = new int[i];  
		}		
		/*
		 * 第二步	杨辉三角第一位和最后以为数值都是1		
						 
			1	
			1	1	
			1	0	1	
			1	0	0	1	
			1	0	0	0	1	
			1	0	0	0	0	1	
			1	0	0	0	0	0	1	
			1	0	0	0	0	0	0	1	
			1	0	0	0	0	0	0	0	1
		 */
		for(int i=0;i<yanghui.length;i++) {
			for(int j=0;j<i;j++) {
				if(i==0 || j==0 || j==yanghui[i].length-1)
				yanghui[i][j] = 1;
			}
		}
		/*
		 * 第三步	杨辉三角第n行n列的数值等于n-1行n-1列(左上方)加上n-1行n列(正上方)的数值											
						
			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	7	21	35	35	21	7	1	
			1	8	28	56	70	56	28	8	1
		 */
		for(int i=0;i<yanghui.length;i++) {
			for(int j=0;j<i;j++) {
				//处理剩下没赋值的数组
				if(i!=0 && j!=0 && j!=yanghui[i].length-1) {
					yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
				}
			}
		}
		/*
		 * 输出杨辉三角	
		 * 第二步可以和第三步合并
		 */
		for(int i=0;i<yanghui.length;i++) {
			for(int j=0;j<i;j++) {
				System.out.print(yanghui[i][j] +"\t");  
			}
			System.out.println();
		}
	}
}

java杨辉三角

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
/* *题目:打印出杨辉三角形(要求打印出10行如下图) *作者:lihm *日期:20110716 revised 2012/1
#include <iostream.h> #include <stdio.h> int Number(int x, int y); void main (voi
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserve
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserve
#include<iostream> #include<iomanip> using namespace std; int main(){ int a[10][1
/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者:张梦佳 * 完成日期
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserve
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserve
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserve
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserve
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号