最近碰到一道题目.就是关于酒瓶的(100元买酒,2元买一瓶,两个空瓶换一瓶,求最后能买多少瓶).
刚开始没头绪,仔细一想原来不过如此.
经过分析,所能买到的酒瓶等于 最后所有的空瓶数
java代码求解如下:
import java.util.Scanner;
public class Bottle {
//空瓶数
static int blank=0;
//直接能买到的酒瓶数
static int sum=0;
public static void main(String[] args) {
int a=input();
System.out.println(compute(a));
}
private static int input() {
System.out.println("请输入大于1的钱数,我们将会计算你能买多少瓶:");
Scanner scanner=new Scanner(System.in);
int i=scanner.nextInt();
if(i>1)
return i;
else{
return 0;
}
}
private static int compute(int a)
{
if(a==2)
{
return 1;
}
else if(a>2){
sum=a/2;
while(true)
{
sum=sum-1;
blank=blank+2;
if(sum<2)
{
break;
}
System.out.println(blank);
}
return blank+sum;
}
return 0;
}
}