ZeroJudge B186: 七區資訊學科1(改編)

有一家店正在進行促銷,只要客人買 10 個餅乾和 2 個蛋糕就多送 1 盒巧克力,請以程式輸出最後應給予的物品數量。

範例測資

範例輸入範例輸出
每組輸入為一行,含有 3 個整數,分別代表餅乾、巧克力和蛋糕,以空白分隔。請輸出應給予之商品數量
12 6 312 個餅乾,7 盒巧克力,3 個蛋糕。

解題思路

可以使用一個 While迴圈,終止的條件就是當餅乾小於 10 或蛋糕小於 2 兩個情況只要一個有發生就終止迴圈。迴圈中只要將巧克力的數量 +1、餅乾 -10、蛋糕 -2 就可以了。需要注意的是餅乾和蛋糕的原始數量需存在其他兩個不會做加減的變數中才行。最後只要輸出原始的餅乾+蛋糕值和加總完的巧克力數量即可。

範例程式碼-ZeroJudge B186: 七區資訊學科1(改編)

#include <iostream>
using namespace std;

int main() {
    int cookie, cake, chocolate;
    while (cin >> cookie >> chocolate >> cake)
    {
        int nCookie = cookie, nCake = cake;
        while (nCookie >= 10 && nCake >= 2)
        {
            chocolate++;
            nCookie -= 10;
            nCake -= 2;
        }
        cout << cookie << " 個餅乾," << chocolate << " 盒巧克力," << cake << " 個蛋糕。\n";
    }
}

//ZeroJudge B186
//Dr. SeanXD

發佈留言