广州微信网站建设,wordpress文章发布没有页面模板,微信公众号商城怎么开通,wordpress源代码在哪里题目
某商店规定#xff1a;三个空汽水瓶可以换一瓶汽水#xff0c;允许向老板借空汽水瓶#xff08;但是必须要归还#xff09;。
小张手上有n个空汽水瓶#xff0c;她想知道自己最多可以喝到多少瓶汽水。
数据范围#xff1a;输入的正整数满足 1≤n≤100
注意…题目
某商店规定三个空汽水瓶可以换一瓶汽水允许向老板借空汽水瓶但是必须要归还。
小张手上有n个空汽水瓶她想知道自己最多可以喝到多少瓶汽水。
数据范围输入的正整数满足 1≤n≤100
注意本题存在多组输入。输入的 0 表示输入结束并不用输出结果。
输入描述
输入文件最多包含 10 组测试数据每个数据占一行仅包含一个正整数 n 1n100 表示小张手上的空汽水瓶数。n0 表示输入结束你的程序不应当处理这一行。
输出描述
对于每组测试数据输出一行表示最多可以喝的汽水瓶数。如果一瓶也喝不到输出0。
示例1
输入
3
10
81
0
输出
1
5
40
说明
样例 1 解释用三个空瓶换一瓶汽水剩一个空瓶无法继续交换
样例 2 解释用九个空瓶换三瓶汽水剩四个空瓶再用三个空瓶换一瓶汽水剩两个空瓶向老板借一个空瓶再用三个空瓶换一瓶汽水喝完得一个空瓶还给老板 思路1
剩2个空瓶子时可以先找老板借一瓶汽水喝掉这瓶满的喝完以后用3个空瓶子换一瓶满的还给老板。
也就是说2个空瓶子即可换一瓶汽水喝而且喝完之后手里也没有空瓶子。
每次空瓶的数量除以2直到最后空瓶的数量少于两瓶就累加到了可兑换的数量。 代码1
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);while (sc.hasNextInt()) {int bottle sc.nextInt();if (bottle 0) {break;}System.out.println(bottle / 2);}}
} 代码2
import java.util.*;public class Main {public static int getNum(int num) {//累加汽水的个数int sum 0;//while(num 0) 死循环while (num 1) {//兑换的汽水的个数 /3sum num / 3;//剩余的空瓶子 /3 %3num num / 3 num % 3;if (num 2) {//借一瓶sum;break;}}return sum;}public static void main(String[] args) {Scanner s new Scanner(System.in);int num;while ((num s.nextInt()) ! 0) {System.out.println(getNum(num));}}
}