Kết nối qua MCP →

Nhập phép tính

Mẹo: chọn Loại tiền tệ, rồi chọn chế độ tính. Mặc định, tất cả mệnh giá đang lưu hành của loại tiền đã chọn đều được sử dụng (chia theo thuật toán tham lam cho số lượng tối thiểu).

Công thức

Công thức: Máy Tính Tiền Thối
Show calculation steps (1)
  1. Greedy denomination breakdown

    Greedy denomination breakdown: Máy Tính Tiền Thối

    For each denomination d (largest first), in integer subunits: take as many as fit, then move to the smaller denomination.

Quảng cáo

Kết quả

Tiền thối
12,50
USD
Mệnh giá Số lượng
$10 1
$2 1
50¢ 1
Tổng số tờ tiền & đồng xu 3

Công cụ này làm gì

Máy Tính Tiền Thối giúp bạn xác định số tiền cần trả lại cho khách trong một giao dịch tiền mặt, sau đó chia số tiền đó thành số tờ tiền và đồng xu ít nhất có thể trên thực tế. Đây là một công cụ tiện ích đa năng, không gắn với riêng quốc gia nào, cho phép bạn chọn từ các loại tiền tệ phổ biến trên thế giới như Đô la Mỹ (USD, mặc định), Euro (EUR), Bảng Anh (GBP), Đô la Canada (CAD), Đô la Úc (AUD), Peso Mexico (MXN), Peso Philippines (PHP), Đô la New Zealand (NZD) và Real Brazil (BRL). Lưu ý rằng công cụ hoạt động với mệnh giá tiền giấy và tiền xu của các loại ngoại tệ này — không áp dụng cho Việt Nam Đồng (VND).

Cách sử dụng

Hãy chọn loại tiền tệ và chế độ tính. Ở chế độ "Tính tiền thối", bạn nhập giá mua và số tiền khách đưa; công cụ sẽ tính tiền thối bằng cách lấy số tiền khách đưa trừ đi giá mua. Ở chế độ "Nhập trực tiếp số tiền thối", bạn tự nhập số tiền cần thối và bỏ qua bước tính toán giá mua. Kết quả hiển thị số tiền cần thối kèm một bảng liệt kê số lượng từng loại tờ tiền và đồng xu cần đưa lại, sắp xếp từ mệnh giá lớn nhất, cùng tổng số tờ/đồng.

Công thức và thuật toán

Trước tiên, tiền thối được tính:

$$\text{Tiền thối} = \text{Tiền khách đưa} - \text{Giá mua}$$

(hoặc số tiền bạn nhập trực tiếp). Để tránh sai số dấu phẩy động, số tiền được quy đổi sang đơn vị nhỏ nhất nguyên (xu) bằng cách nhân với 100 rồi làm tròn. Sau đó, một thuật toán tham lam (greedy) sẽ lần lượt duyệt qua từng mệnh giá từ lớn đến nhỏ, lấy \(n = \left\lfloor \frac{r}{d} \right\rfloor\) (phần nguyên của số dư chia mệnh giá) cho từng loại rồi trừ khỏi số dư còn lại:

$$n_d = \left\lfloor \frac{r}{d} \right\rfloor,\quad r \leftarrow r - n_d\,d$$

Với các hệ thống tiền xu "chuẩn tắc" như USD, EUR và GBP, thuật toán tham lam cho ra đúng số lượng tờ/đồng tối thiểu thật sự.

Quảng cáo
Lưu đồ thuật toán tham lam trừ các mệnh giá lớn nhất trước khỏi số tiền thối còn lại
Thuật toán tham lam liên tục chọn mệnh giá lớn nhất vừa đủ, rồi tiếp tục với phần còn lại.

Ví dụ minh họa

USD, giá mua $7.50, khách đưa $20.00. Tiền thối = \(\$20.00 - \$7.50 = \$12.50 = 1250\) xu. Thuật toán tham lam: một tờ $10 (còn 250 xu), một tờ $2 (còn 50 xu), một đồng 50¢ (còn 0). Kết quả: \(1 \times \$10\), \(1 \times \$2\), \(1 \times 50\)¢ — tổng cộng 3 tờ/đồng.

Phân tích trực quan số tiền thối thành vài tờ tiền và nhiều đồng xu kèm huy hiệu đếm số lượng
Ví dụ minh họa: số tiền thối được chia thành ít tờ tiền và đồng xu nhất.

Câu hỏi thường gặp

Vì sao cần quy đổi về đơn vị xu? Tính toán bằng đơn vị nhỏ nhất nguyên giúp tránh các lỗi như 12.499999 sinh ra dư một xu lẻ.

Nếu tôi tắt một mệnh giá thì sao? Thuật toán tham lam vẫn chạy trên các mệnh giá còn lại; nếu không thể về 0, nó sẽ báo phần dư còn thừa. Hãy giữ lại đồng xu nhỏ nhất để đảm bảo thối tiền chính xác.

Thuật toán tham lam có luôn tối ưu không? Với các hệ thống tiền xu chuẩn tắc của các quốc gia, thì có. Với các bộ mệnh giá bất thường hoặc đã bị tắt bớt, nó trả về kết quả hợp lệ nhưng không phải lúc nào cũng là phương án tối thiểu tuyệt đối.

Cập nhật lần cuối: