[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
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ổng1 + 2 + ... + n.2 n: đếm và in số lượng số chia hết cho3trong đoạn[1,n].3 n: tính và in tổng chữ số củan.- Mã lệnh khác
0,1,2,3: inINVALID. 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