java编程实现杨辉三角(摘自java核心技术.卷I)
2013-08-18 16:14
423 查看
/**
* This program demonstrates a triangular array.
* @version 1.20 2004-02-10
* @author Cay Horstmann
*/
public class LotteryArray
{
public static void main(String[] args)
{
final int NMAX = 10;//行数
// allocate triangular array
int[][] odds = new int[NMAX + 1][];
for (int n = 0; n <= NMAX; n++)
odds
= new int[n + 1];
// fill triangular array
for (int n = 0; n < odds.length; n++)
for (int k = 0; k < odds
.length; k++)
{
/*
* compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)
*/
int lotteryOdds = 1;
for (int i = 1; i <= k; i++)
lotteryOdds = lotteryOdds * (n - i + 1) / i;//第一次知道杨辉三角原来和二项式系数这么联系紧密,杨辉三角的第n行原来就是二项式展开式系数的前n项。
odds
[k] = lotteryOdds;
}
// print triangular array
for (int[] row : odds)
{
for (int odd : row)
System.out.printf("%4d", odd);
System.out.println();
}
}
}
* This program demonstrates a triangular array.
* @version 1.20 2004-02-10
* @author Cay Horstmann
*/
public class LotteryArray
{
public static void main(String[] args)
{
final int NMAX = 10;//行数
// allocate triangular array
int[][] odds = new int[NMAX + 1][];
for (int n = 0; n <= NMAX; n++)
odds
= new int[n + 1];
// fill triangular array
for (int n = 0; n < odds.length; n++)
for (int k = 0; k < odds
.length; k++)
{
/*
* compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)
*/
int lotteryOdds = 1;
for (int i = 1; i <= k; i++)
lotteryOdds = lotteryOdds * (n - i + 1) / i;//第一次知道杨辉三角原来和二项式系数这么联系紧密,杨辉三角的第n行原来就是二项式展开式系数的前n项。
odds
[k] = lotteryOdds;
}
// print triangular array
for (int[] row : odds)
{
for (int odd : row)
System.out.printf("%4d", odd);
System.out.println();
}
}
}
相关文章推荐
- Java核心技术II:实现服务器编程ServerSocket
- java分页技术核心代码实现
- 使用java写一个没有main方法的“Hello World”程序(摘自java核心技术.卷I)
- JAVA计算器——摘自Java核心技术
- 常用AWT监听器接口,事件和事件源(摘自Java 2 核心技术<卷一:基础知识>(第七版)》)
- Java处理敲击键盘事件 Etch-A-Sketch玩具实现 光标画笔画图程序 Java核心技术
- 面向对象类间关系 摘自【java核心技术 卷1 基础知识 原书第8版】
- 一、java多线程编程核心技术之(笔记)——多线程的实现
- java实现图片浏览:java核心技术学习
- 显示当前月的日历(摘自java核心技术.卷I)
- 使用BitSet查找某个范围内的所有的素数的个数(摘自java核心技术.卷I)
- Java核心技术很优美的代码3 实现数组的动态分配
- [基础] Java目录(摘自Java核心技术·卷1 基础知识)
- 简单的计算器程序(摘自java核心技术.卷I)
- 重温java核心技术,equals方法实现建议
- java核心技术之jdk源码大揭密(一)
- 小博老师解析Java核心技术 ——JSwing基本菜单制作
- 杨辉三角问题 Java和Python实现
- Java核心技术,让计算机"一芯多用"的多线程技术
- Java核心技术笔记-第4章