<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “
百鸡百钱问题
中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?请编写算法,解决“百钱买百鸡”问题。
/*
* 假设全买小鸡,最多能买300只 全买公鸡,最多能买20只 全买母鸡,最多能买33只 三个变量:小鸡x 公鸡g 母鸡m
*/
for (int x = 3; x < 100; x = x + 3) { // 小鸡的个数肯定是3的倍数,所以x的变化是已3的倍数递增
for (int g = 1; g < 20; g++) {
for (int m = 1; m < 33; m++) {
//System。out。println((x + g + m) + “ ” + (1 * x + 5 * g + 3 * m ));
if (x + g + m == 100 && x / 3 + 5 * g + 3 * m == 100) { // 个数和总价都为100
System。out。println(“公鸡数量:” + g + “,母鸡数量:” + m + “,小鸡数量:” + x);
}
}
}
}
结果:三种组合结果(只考虑三种全有的情况)
公鸡数量:4,母鸡数量:18,小鸡数量:78
公鸡数量:8,母鸡数量:11,小鸡数量:81
公鸡数量:12,母鸡数量:4,小鸡数量:84
for (var x = 1; x < 20; x++)
{
//母鸡的上线
for (var y = 1; y < 33; y++)
{
//剩余小鸡
var z = 100 - x - y;
if (((Math。ceil(5/2)-parseInt(z/3)) == 0) && (x * 5 + y * 3 + z / 3 == 100))
{
alert(“公鸡:”+x+“只,母鸡:”+y+“只,小鸡:”+z+“只”);
}
}
}