一个农夫买鸡的编程面试题
Java一只公鸡5块钱,一只母鸡3块钱,3只小鸡一块钱,一个农夫用100块钱买100只鸡(不许解方程),怎么实现?编写java程序。
public static void main(String[] args) {
for(int a1=1;a1<20;a1++){
for(int a2=1;a2<(100-(a1*5))/3;a2++){
int a3 = (100-5*a1-3*a2)*3;
if(a1+a2+a3==100)
System.out.println(”公鸡:”+a1+”只,母鸡:”+a2+”只,小鸡:”+a3+”只”);
}
}
}









为啥运行时 小鸡排前面就不能得出第一个和第二个的结果呀,是不是我哪里计算错了呀
//顺序是:公鸡、母鸡、小鸡
for(int a1=1;a1<20;a1++){
for(int a2=1;a2<(100-(a1*5))/3;a2++){
int a3 = (100-5*a1-3*a2)*3;
if(a1+a2+a3==100)
System.out.println("公鸡:"+a1+"只,母鸡:"+a2+"只,小鸡:"+a3+"只");
}
}
// 顺序是:母鸡、公鸡、小鸡
for(int aa1=1;aa1<100/3;aa1++)
{
for(int aa2=1;aa2aa1=” + aa1 + “只 aa2=” + aa2
+ “只 aa3=” + aa3 +”只”);
}
}
}
//********************************为啥小鸡排在前面就不行了!*********************************************
// 顺序是: 小鸡、母鸡、公鸡、
for(int aaa1=1;aaa1<100;aaa1++)
{
for(int aaa2=1;aaa2aaa1=” + aaa1 + “只 aaa2=” + aaa2
+ “只 aaa3=” + aaa3 +”只”);
}
}
}
因为小鸡肯定要小于100的 一共就100只鸡 浪费了一个条件吧?
for(int a1 = 3; a1 < 100; a1 += 3 ){
for(int a2 = 1; a2 < (100 – a1 / 3) / 5; a2++){
int a3 = (100 – a1 / 3 – a2 * 5) / 3;
int temp = (100 – a1 / 3 – a2 * 5) % 3;
if(temp == 0 && a1 + a2 + a3 == 100){
System.out.println("公鸡:" + a2 + "只,母鸡:" + a3 + "只,小鸡:" + a1 + "只");
}
}
}
int x = 0 ,y = 0, z = 0;
for(;x < 100; x++){
for(;y < 100; y++){
if((7*x + 4*y == 100)){
z = 6*x + 3*y;
System.out.println("公鸡:" + x+ "只,母鸡:" + y+ "只,小鸡:" + z + "只");
}
}
}