8.饮料换购

来源:互联网 发布:java遍历map的方法 编辑:程序博客网 时间:2024/06/11 08:02
饮料换购

乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。

请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。

输入:一个整数n,表示开始购买的饮料数量(0<n<10000)
输出:一个整数,表示实际得到的饮料数

例如:
用户输入:
100
程序应该输出:
149

用户输入:
101
程序应该输出:

151

资源约定:
峰值内存消耗(含虚拟机) < 256M

CPU消耗  < 1000ms

别人的:
import java.util.Scanner;public class Test8_2 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int ans = 0;int mod = 0;while(n!=0){ans +=n;int t = n;if(t%3+mod>=3){n = t/3+1;mod = (t%3+mod)-3;}else{n = t/3;mod += t%3;}}System.out.println(ans);}}



我写的:

public class Test8 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();System.out.println(num);int a = num / 2;int b = num - 2 * (a - 1);if (b == 3) {System.out.println(a + num);} else {System.out.println(a - 1 + num);}}

嗯,是在数学基础上简化出来的。毕竟一看到数字就想发现点啥规律,有毒,时间没花多少,但素明显比别人的要差。可似,准备蓝桥杯,我是认真的。

认真脸,认真脸。



0 0