1.使用场景
使用java程序解决问题:100元钱买100只鸡,母鸡每只5元,公鸡每只3元,小鸡3只1元,问共可以买多少只母鸡、多少只公鸡、多少只小鸡。
2.公式计算
本人从小喜欢数学,出来多年,终于在算法方面找到了快感,也终于理解别人的代码为什么要这么些,结合自己的算法,就能理解别人的代码了,下面我们来看。
假设能买母鸡x只,公鸡y只,小鸡z只。
x+y+z=100;
5x+3y+1/3 *z=100;
可得出结论:
母鸡:x只;
公鸡:(100-7x)/4只;
小鸡:100-x-【(100-7x)/4】只;
另外x,y,z都必须大于或者等于0;
得出0<=x<=14;
最小单位为0或者1元,所以z除以3必须没有余数,z%3==0;
100-x-【(100-7x)/4】必须为整数,所以x必须等于0这个为4的倍数;
3.上代码
public class Test {
public static void main(String[] args) {
int i,j,k;
for(i=0;i<=14;i+=4){undefined
j=(100-7*i)/4;
k=100-i-j;
if(k%3==0 && 5*i+3*j+k/3==100)
System.out.println("母鸡:"+i+"只,公鸡:"+j+"只,小鸡"+k+"只");
}
}
}