1. 你最终得到的面包数量为:你实际买的面包数量+老板送你的面包数量
  2. 实际买的面包数量:金钱数÷一个面包的价格,向下取整
  3. 老板送你面包的数量:你买的面包能凑够几个c数量:实际购买的面包数量÷c,向下取整,最终老板送你的为凑够c的数量×d
  4. 综上答案为 longlong(ab)+longlong(abc)dlong long(\frac{a}{b}) + longlong(\frac{a}{b*c})*d 代码:
// #pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i, a, n) for (int i = a; i <= n; i++)
#define per(i, a, n) for (int i = n; i >= a; i--)
#define lowbit(x) ((x) & -(x))
#define lson p << 1, l, mid
#define rson p << 1 | 1, mid + 1, r
#define mem(a, b) memset(a, b, sizeof(a))
#define IOS                      \
    ios::sync_with_stdio(false); \
    cin.tie(0);                  \
    cout.tie(0)
ll a, b, c, d;
ll solve()
{
    ll ans = 0;
    cin >> a >> b >> c >> d;
    ll cnt1 = a / b; //能买多少面包
    ll cnt2 = cnt1 / c; // 能被送几次
    ans = cnt1 + cnt2 * d;
    return ans;
}
int main()
{
    IOS;
    int n;
    cin >> n;
    while (n--)
    {
        cout << solve() << "\n";
    }
    return 0;
}