Nhờ mọi người góp ý thuật toán

Bạn có thấy chỗ này… nó sao sao không :smiley:

Nói chung là đề chưa rõ lắm.

1 Like

Có thể 8h và 17h chỉ giờ trong ngày (8h sáng đến 5h chiều) thế thì đề nên viết rõ ràng ra là " thời điểm thuê phòng " hoặc “thời gian bắt đầu thuê phòng” hoặc “lúc thuê phòng”. Khả năng khá hợp lý vì tối đa chỉ thuê được 16 tiếng -> 8h và 16h mới liên quan.
Nếu thế bỏ else cuối. Thêm
If (h1<=17) -> tien = 0.9*tien

P/s đề bài ra câu từ ko chuẩn + ko nghiên cứu thực tế: ko cho quá 24h. 30k/h + khuyến mại 30% từ 4 tiếng trở lên thì chắc phải tự tin là khách ăn chơi xả láng ghê gớm lắm hoặc thu tiền đồ ăn uống đắt lòi

1 Like
tien = time<=3 ? time*30000 : 90000+(time-3)*21000;
tien = time>=8 ? tien*0.9 : tien;
// Không xét > 17 vì thời gian từ 8 -> 24 (tối đa 17 giờ)

Cần giải thích từng dòng không nhỉ.

Có vấn đề nhỏ:scream:: thời gian không bao giờ bằng 17 được. Thực tế theo đề bài thì sẽ có 17 tiếng. Nhưng theo cách nhập giờ thì tối đa là 16 giờ (24-8=16).
Giả sử bắt đầu từ lúc 23:00 => nhập 23, kết thúc lúc 24:59 (gần 00:00) => nhập 24. Thực tế thì khoảng thời gian này được tính là 2 tiếng, nhưng theo cách nhập và tính toán thì bằng 1. Lỗ 30000 VND.:smiling_imp:

3 Likes

thực sự là đề bài có nhiều cách hiểu, em lên mạng tra nó cũng có nhiều cách lắm chứ không chỉ cách của em, nên em cũng không rõ được

em cũng nghĩ như vậy ạ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?