Bỏ qua để đến nội dung

Dạng 2: Mua hàng, tính tiền và khuyến mãi

Trang này thuộc chuyên đề Các dạng toán thường gặp trong đề thi Tin học trẻ Bảng A.

Đề cho giá tiền, các loại gói hàng (lẻ, lốc, thùng), chương trình giảm giá, khuyến mãi hoặc đổi vỏ lấy hàng, rồi hỏi số tiền ít nhất phải trả hoặc số món nhiều nhất mua được.

  1. Tính tiền: tiền phải trả = giá × số lượng; tiền thừa = tiền đưa − tiền phải trả.
  2. Giảm giá p%: giá sau khi giảm = giá × (100 − p) ÷ 100. Ví dụ giảm 10% thì phải trả 90% giá: 85000 × 90 ÷ 100 = 76500 đồng.
  3. Mua theo gói: tính giá một món của từng loại gói. Nếu gói càng to thì mỗi món càng rẻ, ta mua gói to nhiều nhất có thể, tiền còn lại (hoặc số món còn thiếu) mới mua gói nhỏ hơn. Cách này gọi là lấy to trước.
  4. Mua m tặng 1: cứ trả tiền m món thì được m + 1 món. Ta tính theo từng “nhóm m + 1 món”, phần lẻ không đủ nhóm thì mua lẻ.
  5. Đổi vỏ lấy hàng: mô phỏng từng lượt đổi bằng lặp lại cho đến khi <> cho đến khi không còn đủ vỏ để đổi.

Đề thi thật: Bảng A 2025 - Huyện Hòa Vang, Đà Nẵng, Bài 2.

Nam có N nghìn đồng để mua sữa. Mua theo thùng (48 hộp) giá 285 nghìn đồng, mua theo lốc (4 hộp) giá 25 nghìn đồng, mua lẻ mỗi hộp 7 nghìn đồng. Tính số hộp sữa nhiều nhất Nam mua được. Ví dụ: N = 285 thì nói 48; N = 318 thì nói 53.

So giá một hộp của từng cách mua:

Cách muaGiá một hộp
Thùng285 ÷ 48 ≈ 5,94 nghìn đồng
Lốc25 ÷ 4 = 6,25 nghìn đồng
Lẻ7 nghìn đồng

Gói càng to thì mỗi hộp càng rẻ, nên ta lấy to trước: mua được bao nhiêu thùng thì mua, tiền còn lại mua lốc, cuối cùng mới mua lẻ. Tiền còn lại sau khi mua thùng chính là số dư khi chia số tiền cho 285.

khi bấm vào @greenFlag
hỏi [] và đợi
đặt [tiền v] thành (trả lời)
đặt [số thùng v] thành ([làm tròn xuống v] của ((tiền) / (285)))
đặt [tiền v] thành ((tiền) chia lấy dư (285))
đặt [số lốc v] thành ([làm tròn xuống v] của ((tiền) / (25)))
đặt [tiền v] thành ((tiền) chia lấy dư (25))
đặt [số hộp lẻ v] thành ([làm tròn xuống v] của ((tiền) / (7)))
nói ((((số thùng) * (48)) + ((số lốc) * (4))) + (số hộp lẻ))

Chạy tay với N = 318:

BướcPhép tínhKết quả
Mua thùng318 ÷ 285, làm tròn xuống1 thùng, còn 318 − 285 = 33 nghìn
Mua lốc33 ÷ 25, làm tròn xuống1 lốc, còn 8 nghìn
Mua lẻ8 ÷ 7, làm tròn xuống1 hộp, còn 1 nghìn
Tổng số hộp1 × 48 + 1 × 4 + 153

Thử một cách khác để thấy lấy to trước có lợi: nếu không mua thùng mà mua 12 lốc (300 nghìn) và 2 hộp lẻ (14 nghìn) thì chỉ được 50 hộp, ít hơn 53.

Đề thi thật: Bảng A 2023 - Tỉnh Bà Rịa - Vũng Tàu, Bài 2.

Cửa hàng khuyến mãi: mang 10 vỏ lon đến thì đổi được 3 lon nước mới. Nam mua N lon (N ≤ 109) và uống hết, rồi dùng vỏ để đổi tiếp; các lon đổi được cũng uống hết và lấy vỏ đổi tiếp như vậy. Hỏi Nam uống được tất cả bao nhiêu lon? Ví dụ: N = 10 thì nói 13; N = 24 thì nói 33.

Ta theo dõi hai số: số lon đã uống và số vỏ đang có. Ban đầu Nam uống N lon và có N vỏ. Mỗi lượt đổi:

  • Số lần đổi được là làm tròn xuống của (số vỏ ÷ 10), mỗi lần được 3 lon, Nam uống hết số lon mới này.
  • Số vỏ sau lượt đổi gồm vỏ lẻ chưa đổi (số vỏ chia lấy dư 10) và vỏ của các lon vừa uống.

Lặp lại cho đến khi còn ít hơn 10 vỏ.

khi bấm vào @greenFlag
hỏi [] và đợi
đặt [đã uống v] thành (trả lời)
đặt [số vỏ v] thành (đã uống)
lặp lại cho đến khi <(số vỏ) < (10)>
đặt [lon mới v] thành (([làm tròn xuống v] của ((số vỏ) / (10))) * (3))
thay đổi [đã uống v] một lượng (lon mới)
đặt [số vỏ v] thành (((số vỏ) chia lấy dư (10)) + (lon mới))
end
nói (đã uống)

Chạy tay với N = 24:

Lượtsố vỏ đầu lượtlon mớiđã uốngsố vỏ cuối lượt
Ban đầu2424
1242 × 3 = 6304 + 6 = 10
2101 × 3 = 3330 + 3 = 3
Dừng vì 3 < 1033

Độ khó: 🌶️ dễ, 🌶️🌶️ trung bình, 🌶️🌶️🌶️ khó. Dòng “Đề thi thật” cho biết bài lấy từ đề nào (bấm vào để xem nguyên đề). Các đề bài được viết gọn lại, tuy nhiên vẫn giữ nguyên yêu cầu và ví dụ của đề gốc.

Đề thi thật (phỏng theo): Bảng A 2023 - Huyện Duy Xuyên, Quảng Nam, Câu 3.

Mỗi quyển sách giá 85000 đồng. Mua từ 50 quyển trở lên thì mỗi quyển được giảm 5%, mua từ 100 quyển trở lên thì mỗi quyển được giảm 10%. Nhập số sách cần mua, nói ra số tiền phải trả. (Đề gốc viết “khoảng 50 quyển”, “khoảng 100 quyển”; ở đây hiểu là “từ 50”, “từ 100” quyển.)

NhậpNói ra
10850000
604845000
1007650000
Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Đề thi thật: Bảng A 2025 - Tỉnh Hà Tĩnh, Bài 2.

Cô Hoa có nhiều tờ tiền 1000, 2000 và 5000 đồng để trả tiền thừa. Bạn An được trả lại N đồng (N chia hết cho 1000; N ≤ 109) và muốn nhận ít tờ nhất. Tính số tờ đó.

NhậpNói raGiải thích
30002Một tờ 1000 đồng và một tờ 2000 đồng.
Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Đề thi thật: Bảng A 2026 - Phường Hải Châu, Đà Nẵng, Bài 2.

Bút chì bán lẻ 3 đồng một cây, gói 4 cây giá 10 đồng, gói 9 cây giá 20 đồng; gói không được tách. Tính số tiền ít nhất để mua đúng N cây (1 ≤ N ≤ 105).

NhậpNói raGiải thích
410Một gói 4 cây.
1023Một gói 9 cây và một cây lẻ.
Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Đề thi thật: Bảng A 2025 - Tỉnh Quảng Nam, Câu 2.

Bút giá t đồng một chiếc, cứ mua m chiếc thì được tặng thêm 1 chiếc. Ban tổ chức cần ít nhất n chiếc bút. Tính số tiền ít nhất phải trả. Nhập m, n, t trên 3 dòng (các số không quá 106).

NhậpNói raGiải thích
2
3
100
200Mua 2 chiếc, được tặng 1, đủ 3 chiếc.
8
3
200
600Mua 3 chiếc, chưa đủ để được tặng.
Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Thầy cô và các em muốn mua bộ bài giải và code của các bài tập trong chuyên đề này vui lòng liên hệ tác giả qua Zalo 0972465159 hoặc Facebook. Bộ bài giải được tặng miễn phí cho thầy cô đã mua 7 chuyên đề Scratch hoặc 150 bài tập Scratch. Xin cảm ơn.