Java 小例子:行列式和鸡兔同笼问题
鸡兔同笼问题就是二元一次方程组,高等数学里面用行列式来解此方程。具体过程可 Google “行列式 二元一次方程组
”。对于鸡兔同笼问题还要加上一个限制:方程的解必须是正整数。
下面是代码示例:
/**
* 鸡兔同笼问题。解法请 Google:“行列式 二元一次方程组”
*
* @author yiding.he
*/
public class BinaryLinearEquationGroup {
// 程序入口
public static void main(String[] args) {
int heads = 10;
int legs = 36;
int[] result = calculate(new int[][]{
{1, 1, heads}, // 鸡和兔子各有一个头,共 10 个;
{2, 4, legs} // 鸡有两只脚,兔子四只脚,共 36 只。
});
if (result != null && result.length > 0) {
System.out.println("结果:鸡有 " + result[0] + " 只,兔子有 " + result[1] + " 只。");
} else if (result == null) {
System.out.println("该题无解。");
} else if (result.length == 0) {
System.out.println("该题有无穷解。");
}
}
/**
* 解二元一次方程组,方程组的解必须是正整数,否则视为无解。
*
* @param params 方程组参数
*
* @return 返回 null 表示无解,返回空数组表示无穷解,否则表示正解。
*/
private static int[] calculate(int[][] params) {
Matrix2 delta = new Matrix2(new int[][]{
{params[0][0], params[0][1]},
{params[1][0], params[1][1]}
});
Matrix2 delta_x = new Matrix2(new int[][]{
{params[0][2], params[0][1]},
{params[1][2], params[1][1]}
});
Matrix2 delta_y = new Matrix2(new int[][]{
{params[0][0], params[0][2]},
{params[1][0], params[1][2]}
});
// 判定无穷解或无解的条件
if (delta.isZero() && delta_x.isZero() && delta_y.isZero()) {
return new int[]{};
} else if (delta.isZero()
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
队列是设计程序中常用的一种数据结构。它类似日常生活中的排队现象,采用一种被称为
“先进先出”(FIFO)的存储结构。数据元素只能从队尾进入,从队首取出。在队列中,
数据元素可以任意增减,但数据元素的次序不会改变。每当有数据元素从队列中被取出,
后面的数据元素依次向前移动一位。所以,任何时候 ......
贴在我们多线程 Java 编程论坛上最常见的问题之一是“怎样创建线程池?”。几乎在每个服务器应用程序中都会出现线程池和工作队列问题。本文中,Brian Goetz 探讨了线程池的动机、一些基本实现和调优技术以及一些要避免的常见危险。
为什么要用线程池?
诸如 Web
服务器、数据库服务器、文件服务器或邮 ......
java中科学计数法的解除
数据过大或接近于0,java会自动使用科学计数法显示
要使得数据以正常的小数显示可使用DecimalFormat类:
DecimalFormat format = new DecimalFormat("0.00000");
String value = format.format(doubleInstance);
......
这几天我日日看到书客网以为是什么东西,我去看了一下子,原来是开发文件等等的下载,还要登记,有些烦,我把我刚下的java代码大全和java23种设计方式给分享
也把网站贴出来
呵呵仍是支持一下子分享精力
http://www.8211.cn
大家收益了我可还来一个
隐藏帖 (16)
java代码大全.pdf (5 MB)
下载次数: 2185 ......