[Buổi 13][Đệ quy][WS] Bài 1: Recursive Utilities
Recursive Utilities
Bối cảnh
Bạn đang xây một bộ công cụ nhỏ để luyện nhiều kiểu bài toán đệ quy tuyến tính.
Chương trình nhận một lệnh và thực hiện đúng một chức năng bằng hàm đệ quy.
Yêu cầu
- Lệnh 1: nhập n, in tổng 1..n bằng recursion.
- Lệnh 2: nhập n, in n! bằng recursion.
- Lệnh 3: nhập n, in tổng chữ số bằng recursion.
- Lệnh 4: nhập a b, in GCD bằng recursion.
- Lệnh 5: nhập n và n số, in tổng mảng bằng recursion.
- Chỉ một lệnh được thực hiện trong mỗi test.
Yêu cầu tổ chức code
Mỗi chức năng phải được đóng gói thành hàm đệ quy riêng. Main chỉ đọc lệnh, dữ liệu và gọi hàm.
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
Dòng đầu là cmd. Dữ liệu tiếp theo phụ thuộc cmd.
Output
Một dòng chứa kết quả.
Ràng buộc
1 ≤ cmd ≤ 5; tổng/ factorial có constraints an toàn cho long long; với cmd 5, 0 ≤ n ≤ 2000.
Ví dụ 1
Input
1
10
Output
55
Giải thích
Lệnh 1 tính 1+...+10 bằng recursion, kết quả 55.
Ví dụ 2
Input
2
5
Output
120
Giải thích
Lệnh 2 tính 5! = 120.
Thông tin học tập
- Module: M04
- Buổi: B13
- Loại bài: WORKSHOP
- Độ khó: Medium
- Concepts: recursion, base cases, factorial, digit recursion, Euclidean gcd, array recursion
- Giới hạn kiến thức: B01-B13
- Time limit: 2 second(s)
- Memory limit: 256 MB
- Point: 100
Comments