C6-06 · Biên độ nhiệt
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:
Dạng bài
Ngôn ngữ cho phép
Python
Đề
Cho nhiệt độ cao nhất của 7 ngày liên tiếp (số thực, độ C). Hãy in:
- biên độ nhiệt của tuần: nhiệt độ cao nhất trừ nhiệt độ thấp nhất trong 7 số, với đúng 1 chữ số thập phân;
- mọi ngày (đánh số từ 1 đến 7) đạt nhiệt độ cao nhất, tăng dần.
Dữ liệu vào
Một dòng gồm 7 số thực ~t_1, t_2, \ldots, t_7~, cách nhau một dấu cách. Mỗi số viết dạng số nguyên (31) hoặc có đúng một chữ số thập phân (34.5).
Kết quả
- Dòng 1: biên độ nhiệt ~\max t_i - \min t_i~, đúng 1 chữ số thập phân.
- Dòng 2: các ngày ~i~ có ~t_i~ bằng nhiệt độ cao nhất, tăng dần, cách nhau một dấu cách.
Ràng buộc
- ~-50 \le t_i \le 60~, tối đa một chữ số thập phân.
Ví dụ
Dữ liệu vào:
31 34.5 29 34.5 33 30 32
Kết quả:
5.5
2 4
Giải thích ví dụ
Cao nhất là 34,5 độ, thấp nhất là 29 độ, biên độ ~34{,}5 - 29 = 5{,}5~. Nhiệt độ 34,5 xuất hiện ở ngày 2 và ngày 4.
Lưu ý
- Đọc bằng
float, không phảiint(có số34.5), và không để nguyên chuỗi (so chuỗi thì"9" > "34.5"). - Nên in bằng
f"{bd:.1f}"(cách khuyên dùng;print(round(bd, 1))cũng được chấp nhận vì dữ liệu có tối đa 1 chữ số thập phân). Cái sai làprint(bd)không làm tròn: phép trừ số thực có thể cho0.1999999999999993thay vì0.2; và khi mọi số là số nguyên, biên độ vẫn phải in5.0. - In mọi ngày đạt cao nhất, không chỉ ngày đầu; nhiệt độ có thể âm.
Nguồn trong sách: Bài C6-06, mục 6.12, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (**)
Đang tải...