Java练习:百钱百鸡利用Java进行实现

今有100块钱,需要购买100只鸡,已知鸡的价格是:公鸡5元,母鸡3元,小鸡三只元,问:需要购买多少只公鸡、母鸡、小鸡?
Java实现百鸡百钱的方法一:
public static void main(String[] args) { for (int x = 0; x <= 100; x++) {// 公鸡 for (int y = 0; y <= 100 - x; y++) {// 母鸡 for (int z = 0; z <= 100 - x - y; z += 3) {// 小鸡 int sum = 5 * x + 3 * y + z / 3; if (sum == 100 && x + y + z == 100) { System.out.println("公鸡:" + x + "母鸡:" + y + "小鸡:" + z); } } } } }
打印结果:
公鸡:0母鸡:25小鸡:75 公鸡:4母鸡:18小鸡:78 公鸡:8母鸡:11小鸡:81 公鸡:12母鸡:4小鸡:84
适当的对程序优化,x<=100,y<=100,可以优化为x<=20,y<=33,优化计算
易错点:小鸡必须是三的倍数
Java实现百鸡百钱的方法二:
public static void main(String[] args) { for (int x = 0; x < 20; x++) {// 公鸡 for (int y = 0; y < 33; y++) {// 母鸡 int z = (100 - x - y); if (z / 3 + 3 * y + 5 * x == 100 && z % 3 == 0) { System.out.println("@公鸡:" + x + "母鸡:" + y + "小鸡:" + z); } } } }
打印结果:
@公鸡:0母鸡:25小鸡:75 @公鸡:4母鸡:18小鸡:78 @公鸡:8母鸡:11小鸡:81 @公鸡:12母鸡:4小鸡:84
本文作者:刘广法,转载注明出处。