public class baiqianbaiji {
//公鸡5块 母鸡三块 小鸡三只一块 100块钱买一百只鸡 每一种鸡哥多少只
/*
方法一:
x+y+z = 100
5x+3y+1/3y= 100 ;
其中 0<x<=20
0<y<40
0<z<=100 即 z = 100-x-y
最后我们要验证z%3=0 和 5x+3y+1/3z= 100(中文意义对但是程序里面写就是错)同时成立
可以使用枚举方法进行验证获取 但是问题是那个1/3怎么处理
*/
public static void main(String[] args) {
for(int x = 0 ; x <= 20 ;x++ ){
for (int y = 0 ;y <= 35 ;y++ ){
int z = 100-x-y ;
//需要严格的注意这个5*x+3*y+z/3 == 100;我之前写的是5x+3y+1/3z= 100
// 1/3*z 或者(1/3*2)结果永远是0 因为1/3的结果就是0
if ((z%3 == 0) && (5*x+3*y+z/3 == 100)){
System.out.println("公鸡:"+x+" 母鸡:"+y+" 小鸡"+z);
}
}
}
}
}
java使用枚举法解三元一次方程(百钱白鸡)
最新推荐文章于 2023-05-23 22:03:37 发布