题解 | #百钱买百鸡问题#
百钱买百鸡问题
https://www.nowcoder.com/practice/74c493f094304ea2bda37d0dc40dc85b
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case /* int x = 0; //鸡翁个数 int y = 0; //鸡母个数 int z = 0; //鸡雏个数 从总价100得式1:5x+3y+z/3=100 从总数100得式2:x+y+z=100 抵消z:式1*3-式2得14x+8y=200化简7x+4y=100 假设全部买鸡翁,则y=0,进而x最大=100/7=14 故0<=x<=14 根据x求带入方程式7x+4y=100计算出y 根据xy带入方程式x+y+z=100计算出z */ for(int x=0; x<=14; x++){ if((100-7*x) % 4 == 0){ // 鸡母个数y为整数;求出x int y = (100-7*x) / 4; int z = 100 - x - y; System.out.println(x + " " + y + " " + z); } } /* for (int i = 0; i <= 20; i++) { for (int j = 0; j <= 33; j++) { for (int k = 0; k <= 100; k = k + 3) { //最多100只 if (5 * i + 3 * j + k / 3 == 100 && i + j + k == 100) { System.out.println(i + " " + j + " " + k); } } } } */ break; //必须 } } }