C3-10 · Giảm giá cho thành viên

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ột cửa hàng tính tiền theo hai bước nối tiếp nhau (giá và ngưỡng là giả định).

Bước 1 — giảm theo giá trị đơn (tiền hàng ~T~ đồng):

  • ~T \ge 1\,000\,000~: giảm 10%, tiền sau giảm là T * 90 // 100;
  • ~500\,000 \le T < 1\,000\,000~: giảm 5%, tiền sau giảm là T * 95 // 100;
  • ~T < 500\,000~: không giảm.

Bước 2 — ưu đãi thành viên: sau bước 1, nếu khách là thành viên (mã TV) và số tiền còn lại lớn hơn ~50\,000~ thì trừ thêm ~50\,000~ đồng. Khách thường có mã KH.

In số tiền phải trả.

Dữ liệu vào

Một dòng chứa số nguyên ~T~ (tiền hàng, đồng) và mã khách (TV hoặc KH), cách nhau một dấu cách.

Kết quả

Một dòng: số tiền phải trả (đồng), là số nguyên.

Ràng buộc

  • ~1 \le T \le 10^{9}~.
  • Mã khách là đúng một trong hai chuỗi TV, KH (chữ hoa).

Ví dụ 1

Dữ liệu vào:

1200000 TV

Kết quả:

1030000

Ví dụ 2

Dữ liệu vào:

800000 KH

Kết quả:

760000

Giải thích ví dụ

  • Ví dụ 1: ~1\,200\,000 \ge 1\,000\,000~ nên còn 1200000 * 90 // 100 = ~1\,080\,000~. Khách là thành viên và ~1\,080\,000 > 50\,000~ nên trừ tiếp ~50\,000~, còn ~1\,030\,000~.
  • Ví dụ 2: ~800\,000~ thuộc mức giảm 5%: 800000 * 95 // 100 = ~760\,000~. Khách thường nên không trừ thêm.

Ghi chú

  • Hai bước là hai quyết định nối tiếp, độc lập: viết bước 2 thành một câu if riêng, không gộp vào chuỗi elif của bước 1 (mục 3.1.2).
  • Tính bằng chia nguyên // như đề. Dùng round() hay nhân với số thực (0.95) có thể lệch 1 đồng ở một số giá trị, hoặc in ra số thực 1030000.0.

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


Đang tải...