[Buổi 14][Củng cố đệ quy][WS] Bài 1: Recursive Utilities 2.0
Recursive Utilities 2.0
Bối cảnh
Bạn nâng cấp Recursive Utilities bằng cách cho mỗi chức năng có hai cách giải và kiểm tra chúng cho cùng kết quả.
Online Judge chỉ thấy output, nhưng cấu trúc code phải thể hiện rõ hai phiên bản Rec/Loop.
Yêu cầu
- Lệnh 1: tổng 1..n, in
rec loop. - Lệnh 2: factorial, in
rec loop. - Lệnh 3: tổng chữ số, in
rec loop. - Lệnh 4: GCD, in
rec loop. - Lệnh 5: tổng mảng, in
rec loop. - Với mọi lệnh, hai số output phải bằng nhau.
Yêu cầu tổ chức code
Mỗi chức năng phải có hai hàm tương ứng Rec/Loop; main chỉ điều phối.
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 cmd; dữ liệu tiếp theo phụ thuộc cmd.
Output
Một dòng gồm kết quả recursion và iteration.
Ràng buộc
1 ≤ cmd ≤ 5; recursion depth được giữ trong giới hạn an toàn; cmd 5 có n≤2000.
Ví dụ 1
Input
1
10
Output
55 55
Giải thích
Hai phiên bản tổng đều trả 55, nên output là 55 55.
Ví dụ 2
Input
2
10
Output
3628800 3628800
Giải thích
Hai phiên bản factorial đều trả 10! = 3628800.
Thông tin học tập
- Module: M04
- Buổi: B14
- Loại bài: WORKSHOP
- Độ khó: Medium
- Concepts: recursion vs iteration, debugging, base cases, array recursion, gcd, digit processing
- Giới hạn kiến thức: B01-B14
- Time limit: 2 second(s)
- Memory limit: 256 MB
- Point: 100
Comments