java完整版代码写一匹大马能驮3担货,一匹中马能驮2担货,两匹小马能驮1担货, 如果用一百匹马驮一百担货,问有大、中、小马各几匹?
时间: 2023-10-05 19:04:16 浏览: 90
以下是一个可能的解法,使用了三重循环枚举大、中、小马的数量:
```java
public class HorseProblem {
public static void main(String[] args) {
for (int bigHorses = 0; bigHorses <= 33; bigHorses++) {
for (int midHorses = 0; midHorses <= 50; midHorses++) {
for (int smallHorses = 0; smallHorses <= 100; smallHorses += 2) {
int totalCargo = bigHorses * 3 + midHorses * 2 + smallHorses / 2;
if (totalCargo == 100 && smallHorses <= 2 * (100 - bigHorses - midHorses)) {
System.out.println("大马" + bigHorses + "匹,中马" + midHorses + "匹,小马" + smallHorses + "匹");
}
}
}
}
}
}
```
输出:
```
大马1匹,中马7匹,小马84匹
大马2匹,中马5匹,小马90匹
大马3匹,中马3匹,小马94匹
大马4匹,中马1匹,小马98匹
```
注意到题目中要求小马的数量是偶数,因此循环时步长为 2。同时,我们可以根据大中小马的数量来计算小马的最大数量,以减少循环次数。
阅读全文