C4-03 · Tổng có điều kiện

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 2.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 số nguyên dương n. Tính tổng các số nguyên từ 1 đến n chia hết cho 3 hoặc chia hết cho 5 (số chia hết cho cả 3 và 5, như 15, chỉ được cộng một lần).

Dữ liệu vào

Một dòng chứa số nguyên n.

Kết quả

Một dòng: tổng cần tìm (một số nguyên; bằng 0 nếu không có số nào thỏa).

Ràng buộc

  • 1 ≤ n ≤ 10⁶.

Ví dụ

Dữ liệu vào:

10

Kết quả:

33

Giải thích ví dụ

Các số từ 1 đến 10 chia hết cho 3 hoặc 5 là 3, 5, 6, 9, 10. Tổng: 3 + 5 + 6 + 9 + 10 = 33.

Điều kiện viết trong Python là i % 3 == 0 or i % 5 == 0. Hai cách viết sai hay gặp:

  • i % 3 == 0 or 5: vế phải là số 5, luôn được coi là đúng, nên mọi số đều được cộng (với n = 10 ra 55).
  • Hai lệnh if riêng (một cho 3, một cho 5): số 15, 30, … bị cộng hai lần (chưa lộ ở n = 10, nhưng với n = 15 ra 75 thay vì 60).

Ghi chú

Tự kiểm thêm với n = 1, 2 (kết quả 0), n = 3, n = 15.

Nguồn trong sách: Bài C4-03, 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...