汽水瓶(Java解决了同时多个输入的问题)
2015-04-17 15:28
288 查看
package oj.test;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;
/*
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?(最后输入0结束输入)
*/
public class Demo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
LinkedList<Integer> link = new LinkedList<Integer>();
while(sc.hasNext() ){
int n = sc.nextInt();
if(n==0)
break;
link.add(n);
}
Iterator<Integer> it = link.iterator();
while(it.hasNext()){
int i = it.next();
//System.out.println(i);
System.out.println(fun(i));
}
}
private static int fun(int i) {
int heidiao=0;
int remain=0;
if(i<=1)
return 0;
if(i==2)
return 1;
heidiao = i/3;
remain = i%3;
return heidiao+fun(heidiao+remain);
}
}
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;
/*
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?(最后输入0结束输入)
*/
public class Demo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
LinkedList<Integer> link = new LinkedList<Integer>();
while(sc.hasNext() ){
int n = sc.nextInt();
if(n==0)
break;
link.add(n);
}
Iterator<Integer> it = link.iterator();
while(it.hasNext()){
int i = it.next();
//System.out.println(i);
System.out.println(fun(i));
}
}
private static int fun(int i) {
int heidiao=0;
int remain=0;
if(i<=1)
return 0;
if(i==2)
return 1;
heidiao = i/3;
remain = i%3;
return heidiao+fun(heidiao+remain);
}
}
相关文章推荐
- windows上解决select不能同时等待键盘和套接字输入的问题
- 解决JAVA的键盘输入问题
- 一次关键字输入,多个引擎同时搜索,提高搜索效率,减少解决问题的时间
- fcitx 关于多语言,不同编码的一点说明;同时也可以用于解决fcitx不能输入问题
- java使用scanner接受用户输入遇到空格问题的解决
- Java解决在浏览器地址栏中输入url访问action的问题以及拦截方法过滤的简易实现
- 解决java中输入中文时出现多余的小窗口问题
- java 输入输出流将jsp文件生成html,解决乱码问题
- Java入门到精通——调错篇之解决MyEclipse 输入注册码后:Enter or update your subscription information.问题
- Java入门到精通——调错篇之解决MyEclipse 输入注册码后:Enter or update your subscription information.问题
- Sublimetext2/3中java、c/c++的输入问题的解决
- java与javac版本不一致问题,同时装两个jdk,完美解决iReport不兼容jdk8
- 解决erlang和java同时操作一张表,造成锁表问题
- 合并网易视频中英文字幕文件,解决Java输入输出的中文乱码问题
- java 输入输出流和File简单解析(附android中文乱码问题解决)
- 关于JAVA的Scanner(System.in)循环输入的一些问题与解决
- Java笔记5:解决MyEclipse控制台输入中文乱码输出问题(Eclipse也可以用)
- Java笔记5:解决MyEclipse控制台输入中文乱码输出问题(Eclipse也可以用)
- Java解决在浏览器地址栏中输入url访问action的问题以及拦截方法过滤的简易实现
- ubuntu16下安装sublime-text-3,同时解决不能输入中文的问题。