[Buổi 14][Củng cố đệ quy][HW] Bài 1: In ngược từ n về 1


LÀM BÀI

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

Author:
Problem types
Allowed languages
C++

In ngược từ n về 1

Bối cảnh

Một bộ điều khiển cần phát tín hiệu đếm lùi từ mức n về 1 trước khi thực hiện một hành động. Bài toán có thể giải bằng vòng lặp rất dễ, nhưng ở B14 mục tiêu là đọc được thứ tự thực thi của recursion: nếu lệnh in được đặt trước recursive call thì dữ liệu được phát trong giai đoạn CALL, còn nếu đặt sau call thì thứ tự sẽ đảo ngược ở giai đoạn RETURN. Homework Easy này yêu cầu đúng chuỗi n, n-1, ..., 1 để học viên củng cố base case, định dạng output và mối liên hệ giữa vị trí của lệnh cout với call stack. Không có thuật toán ẩn; điểm quan trọng là kiểm soát thứ tự thực thi.

Yêu cầu

  1. Viết hàm đệ quy.
  2. Nếu n=0 thì dừng.
  3. In n trước recursive call với n-1.
  4. Định dạng các số cách nhau một dấu cách.

Input

Một số nguyên n.

Output

Một dòng các số n, n-1, ..., 1; nếu n=0 thì in dòng rỗng.

Ràng buộc

0 ≤ n ≤ 2000.

Ví dụ 1

Input

5

Output

5 4 3 2 1

Giải thích

Với n=5, tầng đầu in 5 rồi gọi f(4). Tầng kế tiếp in 4 rồi gọi f(3), tiếp tục cho đến khi in 1 và gọi f(0). Tại 0 hàm dừng. Vì mọi giá trị đã được in trong giai đoạn CALL, output theo đúng thứ tự là 5 4 3 2 1.

Ví dụ 2

Input

0

Output


Giải thích

Input 0 chạm base case ngay lập tức, nên hàm không in số nào và cũng không tạo thêm recursive call. Vì thế dòng output rỗng là đúng; đây là test kiểm tra chương trình không in giá trị 0 ngoài yêu cầu.

Thông tin học tập

  • Module: M04
  • Buổi: B14
  • Loại bài: HOMEWORK
  • Độ khó: Easy
  • Concepts: recursion, print order, call before return, base case
  • Giới hạn kiến thức: B01-B14
  • Time limit: 1 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo