蓝桥杯练习题中饮料换购-java
题目
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C 型饮料,并且可以一直循环下去(但不允许暂借或赊账)。
请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。
输入描述
输入一个整数 n(0<n<1000)n(0<n<1000),表示开始购买的饮料数量。
输出描述
输出一个整数,表示实际得到的饮料数
输入输出样例
示例
输入
100
输出
149
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
题解
方法一:
思路
第一次n为获得饮料数的起始值,然后每三瓶可兑换一瓶,所以第二次兑换的数目为 n/3,剩余不够兑换的个数放在第三次兑换,所以第三次兑换前的总数为n/3+ n%3,以此类推、、、、可得到最终获得的饮料个数
代码实现
import java.util.Scanner;
//1:无需package
//2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int n = scan.nextInt();
int sum = n; // 总共兑换的饮料数
int yushu = 0; // 每次不够兑换的数目
int huangou = 0; //每次换购的数目
while(n >= 3){
yushu = n % 3;
huangou = n / 3;
n = huangou + yushu;
// 因为这里每次剩余的饮料不够兑换,所以放在下一次中计算,并不需要加载总数里
sum += huangou;
}
System.out.println(sum);
scan.close();
}
}