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杨辉三角,可以输入需要打印的行数,来打印杨辉三角
java 杨辉三角 java 杨辉三角 java 杨辉三角
洋哥刚写出来的新鲜代码,通过java中for循环与两个数组的调用,实现杨辉三角算法,供大家分享交流
java杨辉三角
用java实现杨辉三角 n=10的情况。如果n很大,增大数目即可
NULL 博文链接:https://regedit-123.iteye.com/blog/1141004
( Java杨辉三角(金三角)代码 可以根据输入输出相应行数的杨辉三角
java实现杨辉三角 杨辉三角.java用java实现杨辉三角的程序
基于java实现的杨辉三角,是我学习java来练练手的,java基础入门的学生可以考虑参考一下
用java编写的一个杨辉三角程序
输入三角形行数 按三角形格式输出 在eclipse下可运行
Java SE程序 杨辉三角Java SE程序 杨辉三角Java SE程序 杨辉三角Java SE程序 杨辉三角Java SE程序 杨辉三角Java SE程序 杨辉三角Java SE程序 杨辉三角Java SE程序 杨辉三角Java SE程序 杨辉三角Java SE程序 杨辉三角...
课堂老师布置的杨辉三角形程序设计,有需要,自取,私信也行。
用java编程实现杨辉三角的打印,这是一道常见的java考试题目。
杨辉三角市我很小的时候就知道的,但是只要你了解杨辉三角的原理就可以做了
之前做过的,比较简单的程序,希望大家用得着