[Buổi 5][Củng cố vòng lặp][WS] Bài 1: Máy tính thống kê tương tác


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Máy tính thống kê tương tác

Bối cảnh

Bạn sẽ mô phỏng một chương trình menu trong môi trường Online Judge. Thay vì người dùng bấm menu trực tiếp, hệ thống cung cấp một chuỗi lệnh. Chương trình phải đọc và xử lý từng lệnh theo thứ tự cho tới khi gặp lệnh 0.

Mỗi mã lệnh gọi một chức năng đã học ở các buổi trước: tính tổng một đoạn, đếm bội số hoặc tính tổng chữ số. Workshop này nhằm kết hợp vòng lặp sentinel + rẽ nhánh + vòng lặp xử lý dữ liệu trong một chương trình duy nhất.

Yêu cầu

Đọc lần lượt các lệnh cho tới khi gặp 0:

  • 1 n: tính và in tổng 1 + 2 + ... + n.
  • 2 n: đếm và in số lượng số chia hết cho 3 trong đoạn [1,n].
  • 3 n: tính và in tổng chữ số của n.
  • Mã lệnh khác 0,1,2,3: in INVALID.
  • 0: kết thúc ngay và không tạo output cho lệnh này.

Mỗi lệnh khác 0 tạo đúng một dòng kết quả.

Input

Dữ liệu vào được cung cấp theo định dạng sau:

Nhiều dòng; dòng cuối 0.

Hãy đọc các giá trị theo đúng thứ tự và ý nghĩa đã mô tả trong đề bài.

Output

In kết quả theo đúng định dạng sau:

Mỗi lệnh khác 0 cho một dòng output.

Không in thêm lời giải thích, nhãn hoặc ký tự ngoài phần kết quả được yêu cầu.

Ràng buộc

0≤n≤10^9; ≤100 lệnh.

Ví dụ 1

Input

0

Output


Giải thích ví dụ

Lệnh đầu tiên là 0, đây là lệnh kết thúc. Chương trình dừng ngay và không sinh dòng output nào.

Ví dụ 2

Input

3 12345
0

Output

15

Giải thích ví dụ

Xử lý lần lượt: 3 12345 → tổng chữ số = 15; gặp 0 nên dừng. Các kết quả trước lệnh dừng tạo ra output như trên.

Thông tin học tập

  • Buổi: B05
  • Concepts: sentinel-controlled while loop, menu, if/switch, loops
  • Giới hạn kiến thức: B01-B05
  • Time limit: 2 seconds
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo