題目故意講了兩種方法超混亂,但其實就是問第二種換法而已 ==
int
即可Coke_sum
& Coke_empty
初始化為輸入數
while(scanf("%d", &Coke) != EOF){
Coke_sum = Coke;
Coke_empty = Coke;
}
空瓶 / 3 = 兌換量
,且兌換多少即產生多少空瓶,加上沒兌換到的空瓶,更新空瓶為 空瓶 / 3 + 空瓶 % 3
while(Coke_empty >= 3){
Coke_sum = Coke_sum + (Coke_empty / 3);
Coke_empty = (Coke_empty / 3) + (Coke_empty % 3);
}
// 意同:
// Coke_sum = (Coke_empty == 2) ? Coke_sum + 1 : Coke_sum;
// printf("%d\n", Coke_sum);
printf("%d\n", Coke_sum + Coke_empty / 2);
#include<stdio.h>
int main(){
int Coke;
int Coke_sum;
int Coke_empty;
while(scanf("%d", &Coke) != EOF){
Coke_sum = Coke;
Coke_empty = Coke;
while(Coke_empty >= 3){
Coke_sum = Coke_sum + (Coke_empty / 3);
Coke_empty = (Coke_empty / 3) + (Coke_empty % 3);
}
printf("%d\n", Coke_sum + Coke_empty / 2);
}
return 0;
}
世界真神奇之妙妙公式解
因為題目只有說可借,沒規定何時借 & 借多少,透過借空瓶的漏洞,就能不要臉多借一點!
一開始購買後,將可樂分成兩兩一組,每組各借一個空瓶,全部喝完 + 兌換後便歸還剩餘空瓶數
◆:滿瓶 ◇:空瓶,以 N = 8 為例:
購買:◆◆◆◆◆◆◆◆
分組:◆◆ ◆◆ ◆◆ ◆◆
借瓶:◆◆◇ ◆◆◇ ◆◆◇ ◆◆◇
喝掉:◇◇◇ ◇◇◇ ◇◇◇ ◇◇◇
兌換:◆ ◆ ◆ ◆
喝掉:◇ ◇ ◇ ◇
歸還:
用結論來解釋
喝掉 = 購入 × 1.5
簡單地展開後
喝掉 = 購入 + 購入 ÷ 2
購入:就是一開始輸入的購買可樂數,同上所述,購買便喝掉
購入 ÷ 2:兩瓶一組,共多少組
C Code ver. 2
#include<stdio.h>
int main(){
int n;
while(scanf("%d", &n) != EOF){
printf("%d\n", n * 3 / 2);
}
return 0;
}