[Buổi 13][Đệ quy][Lab] Bài 2: Tổng chữ số đệ quy
Tổng chữ số đệ quy
Bối cảnh
Một hệ thống cần tính tổng chữ số của một số nguyên không âm bằng recursion.
Mỗi bước lấy chữ số cuối bằng %10 và chuyển phần còn lại thành bài toán nhỏ hơn bằng /10.
Yêu cầu
- Viết hàm đệ quy trả tổng chữ số của n.
- Dùng base case khi n<10.
- In kết quả.
Yêu cầu tổ chức code
Bắt buộc dùng một hàm đệ quy cho phần tính tổng chữ số.
Online Judge chủ yếu chấm output. Giảng viên sẽ quan sát thêm cách tổ chức hàm khi review code để bảo đảm học viên luyện đúng kỹ năng của buổi.
Input
Một số nguyên không âm n.
Output
Một số nguyên là tổng chữ số.
Ràng buộc
0 ≤ n ≤ 10^18-1.
Ví dụ 1
Input
572
Output
14
Giải thích
Số 5832 được tách từ phải sang trái bằng %10 và /10. Tầng đầu lấy chữ số 2, sau đó giao 583 cho tầng tiếp theo; các tầng kế tiếp lấy 3, 8 và 5. Khi n trở về 0, base case trả 0; giai đoạn return cộng các chữ số thành 5+8+3+2 = 18. Do đó output là 18.
Ví dụ 2
Input
0
Output
0
Giải thích
Input 0 đi thẳng vào base case của hàm tổng chữ số. Theo contract của bài, tổng chữ số của 0 được trả về là 0 và không có tầng recursion nào khác. Vì vậy output đúng là 0.
Thông tin học tập
- Module: M04
- Buổi: B13
- Loại bài: LAB
- Độ khó: Easy
- Concepts: recursion, digit processing, base case, integer division
- Giới hạn kiến thức: B01-B13
- Time limit: 1 second(s)
- Memory limit: 256 MB
- Point: 100
Comments