本帖最后由 luheqi 于 2014-7-2 19:02 编辑
(for 循环) 百钱买鸡”是我国古代的著名数学题。题目这样描述: 3 文 钱可以买 1只公鸡, 2 文钱可以买一只母鸡 1 文钱可以买 文钱可以买 3 只小鸡。用 只小鸡。用 100 文 钱买 100 只鸡,那么各有公鸡母鸡小鸡多少只?
别人的帖子:
发现一个挺有意思得题,求解答
http://bbs.itheima.com/thread-119552-1-1.html
(出处: 黑马程序员IT技术论坛)
我的解:一个循环
3x+2y+z/3=100
x+y+z =100
所以有:8x+5y=200;
y=40-8x/5 为整数,所以200-8x要被5整除
z=100-x-y
且z要能被3整除
所以可以大大减少循环次数。
//代码:只写核心代码
int y = 0, z = 0, temp = 0;
for (int x = 0; x < 34; x++) {
if ((temp = 200 - 8 * x) > =0 && temp % 5 == 0) {
y = temp / 5;
z = 100 - x - y;
if (z % 3 == 0) {
System.out.println("公鸡:" + x + "母鸡:" + y + "小鸡:" + z);
}
}
}
|