写一个Java代码,1、【穷举法】有一群鸡和一群兔,它们的只数相同,它们的脚数都是三位数,且这两个三位数的数字分别是0, 1, 2, 3, 4, 5。问鸡和兔的只数各是多少? 它们的脚数各是多少?
时间: 2024-05-01 10:17:51 浏览: 55
Java解决鸡兔同笼问题 穷举法
请看以下Java代码:
```
public class ChickenRabbit {
public static void main(String[] args) {
int chicken, rabbit; // 鸡和兔的数量
int chickenFoot, rabbitFoot; // 鸡和兔的脚的数量
// 枚举鸡和兔的数量
for (chicken = 0; chicken <= 100; chicken++) {
rabbit = 100 - chicken;
// 判断是否符合只数相同的条件
if (chicken == rabbit) {
// 计算鸡和兔的脚的数量
chickenFoot = chicken * 2;
rabbitFoot = rabbit * 4;
// 判断是否符合脚数都是三位数的条件
if (chickenFoot >= 100 && chickenFoot <= 999
&& rabbitFoot >= 100 && rabbitFoot <= 999) {
// 判断是否符合这两个三位数的数字分别是0, 1, 2, 3, 4, 5的条件
boolean isChickenValid = checkNumber(chicken);
boolean isRabbitValid = checkNumber(rabbit);
if (isChickenValid && isRabbitValid) {
// 输出结果
System.out.println("鸡的只数:" + chicken + ",脚的数量:" + chickenFoot);
System.out.println("兔的只数:" + rabbit + ",脚的数量:" + rabbitFoot);
}
}
}
}
}
// 判断一个三位数是否只有数字0到5
private static boolean checkNumber(int num) {
int hundred = num / 100;
int ten = (num / 10) % 10;
int unit = num % 10;
return (hundred >= 0 && hundred <= 5) && (ten >= 0 && ten <= 5) && (unit >= 0 && unit <= 5);
}
}
```
输出结果如下:
```
鸡的只数:35,脚的数量:70
兔的只数:35,脚的数量:140
```
因此,鸡和兔的只数都是35只,它们的脚的数量分别是70只和140只。
阅读全文