百钱百鸡问题:100元买100只鸡,其中公鸡5元一只,母鸡3元1只,小鸡1元3只,要求每种鸡至少有1只,试编程

百钱百鸡问题:100元买100只鸡,其中公鸡5元一只,母鸡3元1只,小鸡1元3只,要求每种鸡至少有1只,试编程写程序统计输出所有购买方案。

package bean;

public class Test {
public static void main(String[] args) {
/*
* 百钱百鸡问题:100元买100只鸡,其中公鸡5元一只,母鸡3元1只,小鸡1元3只,要求每种鸡至少有1只,试编程写程序统计输出所有购买方案。
*/
int 公鸡, 母鸡, 小鸡;
for (公鸡 = 1; 公鸡 <= 18; 公鸡++) {// 因为每样至少一只,公鸡最多就为100/5-2(下同)
for (母鸡 = 1; 母鸡 <= 31; 母鸡++) {
for (小鸡 = 1; 小鸡 <= 98; 小鸡++) {
if (公鸡 + 母鸡 + 小鸡 == 100
&& 5 * 公鸡 + 3 * 母鸡 + 小鸡 * (1 / 3) == 100) {// 只要让鸡的总数=100,钱也=100就满足条件,输出..
System.out.println("公鸡" + 公鸡 + "只;母鸡" + 母鸡 + "只;小鸡"
+ 小鸡 + "只");

}
}
}
}

}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-16
很简单啊。
var a,b,c:integer;
begin
for a:=1 to 20 do
for b:=1 to 33 do
for c:=1 to 300 do
if (a+b+c=100) and (a*5+b*3+c/3=100) then write(a,' ',b,' ',c);
end.
第2个回答  2010-11-16
basic行不?

10 CLS
20 FOR a = 1 TO 20
30 FOR b = 1 TO 33
40 FOR c = 3 TO 99 STEP 3
50 IF a + b + c <> 100 THEN 80
60 IF 5 * a + 3 * b + c / 3 <> 100 THEN 80
70 PRINT "gongji:"; a, "muji:"; b, "xiaoji:"; c
80 NEXT c
90 NEXT b
100 NEXT a
110 END

PS:QBASIC下运行通过
gongji:4 muji:18 xiaoji:78
gongji:8 muji:11 xiaoji:81
gongji:12 muji:4 xiaoji:84本回答被网友采纳
第3个回答  2010-11-16
很难- -
相似回答