有家便利店规定:三个空气水瓶可以换一瓶汽水,小灰手上有十个这样的空汽水瓶,他最多可以喝几瓶?答案是5瓶,因为到时候如果小灰的手上有2个空瓶,他可以提前和老板要一瓶,喝完这样他就有3个空瓶用来抵消和老板要来的饮料。
具体代码如下:
import java.util.Scanner;
public class SecondDay {
public static void main(String[] args) {
System.out.println("输入:");
Scanner in = new Scanner(System.in);
int a;
a =in.nextInt();
//int a =10;
int z=0;
int c = 0;
int d =0;
while (a>= 3) {
z=a/3;
a= a%3+z;
c =z+c;
z =0;
if (a == 2) {
a++;
}
}
System.out.println("输出:"+c);
}
}
感觉有点不足,还在改进中。
本文探讨了一种有趣的数学问题,即如何通过空瓶兑换汽水的最优算法。以便利店规定为例,三个空瓶可换一瓶汽水,通过递归算法实现最大汽水饮用数的计算,最终得出小灰可用十个空瓶换取五瓶汽水的结论。
6481

被折叠的 条评论
为什么被折叠?



