[Buổi 13][Đệ quy][WS] Bài 1: Recursive Utilities


LÀM BÀI

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

Author:
Problem types
Allowed languages
C++

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

  1. Lệnh 1: nhập n, in tổng 1..n bằng recursion.
  2. Lệnh 2: nhập n, in n! bằng recursion.
  3. Lệnh 3: nhập n, in tổng chữ số bằng recursion.
  4. Lệnh 4: nhập a b, in GCD bằng recursion.
  5. Lệnh 5: nhập n và n số, in tổng mảng bằng recursion.
  6. 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

There are no comments at the moment.

Zalo