我国古代数学家张丘建在《张丘建算经》一书中提出了“百鸡问题”:
鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
public class ChickenBuy {
/**
* 百钱买百鸡问题
* @param args
*/
static int x;//可买鸡翁只数
static int y;//可买鸡母只数
static int z;//可买鸡雏只数
//方法一 :循环列举法
public void method1(){
x=0;
while(x<=19){
y=0;
while(y<=33){
z=100-x-y;
if(x*5+y*3+z/3==100&&z%3==0&&x!=0){
System.out.println("可买鸡翁只数:"+x);
System.out.println("可买鸡母只数:"+y);
System.out.println("可买鸡雏只数:"+z);
System.out.println("-------------------");
}
y++;
}
x++;
}
}
//方法二:循环法二
public static void method2(){
for(int x=1;x<=100/5;x++){
for(int y=0;y<=33;y++){
z=100-x-y;
if(x*5+y*3+z/3==100&&z%3==0){
System.out.println("可买鸡翁只数:"+x);
System.out.println("可买鸡母只数:"+y);
System.out.println("可买鸡雏只数:"+z);
System.out.println("-------------------");
}
}
}
}
//方法三:循环法三
public static void method3(){
//有两个方程求解得
//z=3/4*x+75;
//所以z的最小值为75,最大值为90
while(z<=90&&z>=75){
y=200-7/3*z;
x=4/3*z-100;
if(x>=0&&y>=0){
System.out.println("可买鸡翁只数:"+x);
System.out.println("可买鸡母只数:"+y);
System.out.println("可买鸡雏只数:"+z);
System.out.println("-------------------");
}
z+=3;
}
}
public static void main(String[] args) {
method3();
}
}
鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
public class ChickenBuy {
/**
* 百钱买百鸡问题
* @param args
*/
static int x;//可买鸡翁只数
static int y;//可买鸡母只数
static int z;//可买鸡雏只数
//方法一 :循环列举法
public void method1(){
x=0;
while(x<=19){
y=0;
while(y<=33){
z=100-x-y;
if(x*5+y*3+z/3==100&&z%3==0&&x!=0){
System.out.println("可买鸡翁只数:"+x);
System.out.println("可买鸡母只数:"+y);
System.out.println("可买鸡雏只数:"+z);
System.out.println("-------------------");
}
y++;
}
x++;
}
}
//方法二:循环法二
public static void method2(){
for(int x=1;x<=100/5;x++){
for(int y=0;y<=33;y++){
z=100-x-y;
if(x*5+y*3+z/3==100&&z%3==0){
System.out.println("可买鸡翁只数:"+x);
System.out.println("可买鸡母只数:"+y);
System.out.println("可买鸡雏只数:"+z);
System.out.println("-------------------");
}
}
}
}
//方法三:循环法三
public static void method3(){
//有两个方程求解得
//z=3/4*x+75;
//所以z的最小值为75,最大值为90
while(z<=90&&z>=75){
y=200-7/3*z;
x=4/3*z-100;
if(x>=0&&y>=0){
System.out.println("可买鸡翁只数:"+x);
System.out.println("可买鸡母只数:"+y);
System.out.println("可买鸡雏只数:"+z);
System.out.println("-------------------");
}
z+=3;
}
}
public static void main(String[] args) {
method3();
}
}