易截截图软件、单文件、免安装、纯绿色、仅160KB

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()


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

使用JAVA建立稳定的多线程服务器

 
本文详细的介绍了使用Java语言建立一套多线程服务器的过程,该服务器使用对象传递消息,在线程中使用队列机制,使服务器的性能大大提高了。这套服务器可以被用于各种C/S或B/S结构的应用程序中。
Java语言是完全面向对象
的,它的线程机制和对象序列化特别容易使用,使用Java来建立一套多线程服务器要比使用其它语 ......

java代码大全和java23种设计方式

这几天我日日看到书客网以为是什么东西,我去看了一下子,原来是开发文件等等的下载,还要登记,有些烦,我把我刚下的java代码大全和java23种设计方式给分享
也把网站贴出来
呵呵仍是支持一下子分享精力
http://www.8211.cn
 大家收益了我可还来一个
 隐藏帖 (16)
java代码大全.pdf (5 MB)
下载次数: 2185 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号