---
# System prepended metadata

title: '(UVA10346) Peter''s Smokes :'
tags: [CPP(CPE)]

---

# (UVA10346) Peter's Smokes :  
## code
```cpp!
// 內容
// Peter有 n 支紙煙，他一支一支的抽並且把煙屁股留起來。當他有 k 支煙屁股（k>1）時他可以把它們捲成一支新的紙煙。

// 請問Peter共可以抽幾支紙煙？

// 輸入說明
// 每筆測試資料一列。每列有2個整數 n,k。
// 輸出說明
// 對每一列輸入，請輸出Peter共可以抽幾支紙煙。
// 範例輸入 #1
// 4 3
// 10 3
// 100 5
// 範例輸出 #1
// 5
// 14
// 124
#include <iostream>
using namespace std;

int main() {
    int n, k;
    while (cin >> n >> k) {
        int total_smokes = n;  // 總共能抽的煙數
        int butts = n;         // 總共累積的煙蒂數

        // 只要煙蒂數足夠換至少一支新煙
        while (butts >= k) {
            int new_smokes = butts / k;  // 可以換得的新煙數
            total_smokes += new_smokes;  // 總共抽的煙數增加
            butts = butts % k + new_smokes;  // 更新煙蒂數 (剩餘的煙蒂 + 新抽的煙產生的煙蒂)
        }

        cout << total_smokes << endl;  // 輸出結果
    }
}

```
## 思路 
那麼簡單還需要思路喔