[Buổi 13][Đệ quy][Lab] Bài 2: Tổng chữ số đệ quy


LÀM BÀI

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

Author:
Problem types
Allowed languages
C++

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

  1. Viết hàm đệ quy trả tổng chữ số của n.
  2. Dùng base case khi n<10.
  3. 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/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

There are no comments at the moment.

Zalo