C4-09 · Năm nhuận trong khoảng

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

Đề

Cho hai năm a ≤ b. Đếm số năm nhuận trong đoạn [a; b] (tính cả a và b) theo lịch Gregory: năm nhuận là năm chia hết cho 400, hoặc chia hết cho 4 nhưng không chia hết cho 100 (Ví dụ 3.5, mục 3.3).

Dữ liệu vào

Một dòng chứa hai số nguyên a và b cách nhau một dấu cách.

Kết quả

Một dòng: số năm nhuận trong đoạn [a; b].

Ràng buộc

  • 1 ≤ a ≤ b ≤ 100 000.

Ví dụ

Dữ liệu vào:

2000 2030

Kết quả:

8

Giải thích ví dụ

Các năm chia hết cho 4 trong đoạn [2000; 2030] là 2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028 — 8 năm. Năm 2000 chia hết cho 100 nhưng cũng chia hết cho 400 nên vẫn nhuận. Nếu quên quy tắc 400 sẽ ra 7.

Ví dụ này chưa phân biệt được lời giải chỉ xét "chia hết cho 4": thử thêm đoạn chứa năm 1900 hoặc 2100 (chia hết cho 4 và cho 100, nhưng không chia hết cho 400 → không nhuận).

Ghi chú

  • Đoạn [a; b] gồm cả hai đầu: dùng range(a, b + 1).
  • a và b nằm trên cùng một dòng: đọc bằng input().split().

Nguồn trong sách: Bài C4-09, mục 4.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...