憑3個瓶蓋可以再換一瓶C型飲料,並且可以一直循環下去
(但不允許暫借或賒賬)。
請你計算一下,如果小明不浪
費瓶蓋,儘量地參加活動,那麼,對於他初始買入的n瓶飲
料,最後他一共能喝到多少瓶飲料。
輸入:一個整數n,
表示開始購買的飲料數量(0<n<10000) 輸出:一個整數,
表示實際得到的飲料數
例如:
用戶輸入: 100
程序應該輸出: 149
用戶輸入: 101
程序應該輸出: 151
資源約定:
峯值內存消耗 < 256M CPU消耗 < 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多餘內容。
import java.util.Scanner;
public class Temp {
/**
* 飲料換購 樂羊羊飲料廠正在舉辦一次促銷優惠活動。樂羊羊C型飲料, 憑3個瓶蓋可以再換一瓶C型飲料,並且可以一直循環下去(但不允許暫借或賒賬)。
* 請你計算一下,如果小明不浪費瓶蓋,儘量地參加活動,那麼,對於他初始買入的 n瓶飲料,最後他一共能喝到多少瓶飲料。
* 輸入:一個整數n,表示開始購買的飲料數量(0<n<10000) 輸出:一個整數,表示實際得到的飲料數 例如:
* 用戶輸入: 100 程序應該輸出: 149 用戶輸入: 101 程序應該輸出: 151
* 資源約定: 峯值內存消耗 < 256M CPU消耗 < 1000ms
* 請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多餘內容。
*
* @param args
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int number=sc.nextInt();
//統計飲料總數
int totalDrink = number;
//統計餘數
int statisticsRemainder = 0;
while (number / 3 >= 1) {
statisticsRemainder += (number % 3);
number = number / 3;
totalDrink += number;
if (number == 1) {
//計算餘數還能兌換多少瓶飲料
number += statisticsRemainder;
statisticsRemainder = 0;
}
}
System.out.println(totalDrink);
}
}