java百钱百鸡代码穷举法
时间: 2024-05-02 18:14:54 浏览: 8
以下是两种Java百钱百鸡问题的穷举法代码:
1. 使用for循环嵌套的方式[^1]:
```java
public class Test {
public static void main(String[] args) {
// 公鸡5钱,母鸡3钱,雏鸡1钱3只
// 穷举法公鸡最多20只,母鸡最多33只,雏鸡对3取模应等于0
for (int cock = 0; cock <= 20; cock++) {
for (int hen = 0; hen <= 33; hen++) {
int chick = 100 - cock - hen;
if (cock * 5 + hen * 3 + chick * 1 / 3 == 100 && chick % 3 == 0) {
// 雏鸡对3取模应等于0,所以有chick*1/3
System.out.println("公鸡:" + cock + "\t" + "母鸡:" + hen + "\t" + "雏鸡:" + chick);
}
}
}
}
}
```
2. 使用三重循环的方式[^2]:
```java
public class Test {
public static void main(String[] args) {
for (int x = 0; x <= 20; x++) {
for (int y = 0; y <= 33; y++) {
for (int z = 0; z <= 100; z++) {
if (100 == x + y + z && 100 == 5 * x + 3 * y + z / 3.0) {
System.out.printf("公鸡有%d只,母鸡有%d只,小鸡有%d只\n", x, y, z);
}
}
}
}
}
}
```