C2-12 · Rút tiền ở máy ATM

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Sách "Lập trình cơ sở với Python"
Dạng bài
Ngôn ngữ cho phép
Python

Đề

Máy ATM có bốn loại tờ tiền: 500.000, 200.000, 100.000 và 50.000 đồng, mỗi loại đủ nhiều. Máy trả tiền theo cách ưu tiên tờ lớn: dùng nhiều tờ 500.000 nhất có thể, phần còn lại dùng nhiều tờ 200.000 nhất có thể, rồi đến tờ 100.000, cuối cùng là tờ 50.000. Cho số tiền cần rút, in số tờ mỗi loại và tổng số tờ.

Dữ liệu vào

Một dòng chứa số nguyên ~s~ — số tiền cần rút (đồng).

Kết quả

  • Dòng đầu: số tờ 500.000, 200.000, 100.000, 50.000 theo đúng thứ tự đó, cách nhau một dấu cách.
  • Dòng thứ hai: tổng số tờ.

Ràng buộc

  • ~50000 \le s \le 10^{12}~.
  • ~s~ là bội của 50.000.

Ví dụ 1

Dữ liệu vào:

1850000

Kết quả:

3 1 1 1
6

Ví dụ 2

Dữ liệu vào:

400000

Kết quả:

0 2 0 0
2

Giải thích ví dụ

  • Ví dụ 1: 3 tờ 500.000 (1.500.000), còn 350.000; 1 tờ 200.000, còn 150.000; 1 tờ 100.000, còn 50.000; 1 tờ 50.000. Tổng 6 tờ.
  • Ví dụ 2: chưa đủ một tờ 500.000; 400.000 trả bằng 2 tờ 200.000. Loại không dùng vẫn in số 0.

Ghi chú

  • Gợi ý của sách: dùng %= (mục 2.3.2) để giữ lại phần tiền chưa trả sau mỗi loại tờ.
  • Số tiền viết liền trong code: 500000, không viết 500.000 (đó là số thực 500.0).

Nguồn trong sách: Bài C2-12, mục 2.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (****)


Đang tải...