大家想必都知道这个问题,问题在这里就不描述了。直接分析:
如果用数学的思想来解决这个问题,设公鸡x只,母鸡y只,小鸡z只。
5*x+3*y+z/3 = 100
x+y+z=100
但看这个方程有无数的解,其实里面隐藏着一个x,y,z都是正整数,因此解决这个方法用穷举。
确定程序的框架:
我们编写一个方法用于计算m钱买n鸡问题
package 百钱百鸡; public class Main { public static void main(String[] args) { int m,n; m = 100; n = 100; //调用解决的方法 BQBJ(m,n); } }
//通过循环嵌套的方式实现,穷举的范围最简单的划分为:0<=x<=n;0<=y<=n;0<=z<=n; int x,y,z; for(x = 0;x<=n;x++) { for(y=0;y<=n;y++) { z = n-x-y; if(z>0 && z%3==0 && x*5+y*3+z/3 == m){ System.out.println(x+"--"+y+"--"+z); }else{ ; } } } }
时间: 2024-10-26 01:53:40