这是一个经典的问题,据说来自古代某位神童。大鸡5元一只,中鸡3元一只,小鸡1元3只,用100块钱买100只,三种鸡都必须买,问每种鸡各买几只。
根据题意,设大鸡x只,中鸡y只,小鸡z只,列三元表达式
x+y+z=100
5x+3y+z/3=100
方程出来了,算法也就出来了
int x,y,z; for(x=1;x<=20;x++){//最多只能买14只大鸡 for(y=1;y<=33;y++){ for(z=1;z<=100;z++){ if(5*x+3*y+z/3.0==100&&x+y+z==100){//z如果除以3的话,会有多出数据,因此把结果自动变成float类型比较 System.out.println("大鸡"+x+" 中鸡"+y+" 小鸡"+z); } } } }