Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

root

Liệt kê tập con

100 điểm

Trong một bài kiểm tra về Thuật toán Đệ quy (Recursion), giáo sư yêu cầu bạn sử dụng kỹ thuật Quay lui (Backtracking) để liệt kê tất cả các tập con của một tập hợp \(S\) cho trước.

Tập hợp \(S\) được định nghĩa là \(S = \{1, 2, 3, \ldots, N\}\).

Nhiệm vụ của bạn là viết một chương trình liệt kê tất cả \(2^N\) tập con của tập \(S\) bằng cách mô phỏng quá trình xây dựng tập con theo từng phần tử.

Input

  • Dòng đầu tiên và duy nhất chứa số nguyên \(N\) (\(1 \le N \le 15\)) --- kích thước của tập hợp \(S\).

Output

In ra tất cả các tập con của \(S\).

  • Mỗi tập con được in trên một dòng riêng biệt.
  • Các phần tử trong mỗi tập con được in ra theo thứ tự tăng dần, cách nhau bởi một dấu cách.
  • Tập rỗng được biểu thị bằng \t\.

Example

Test 1

Input
3
Output
{}
3
2
2 3
1
1 3
1 2
1 2 3

root

Đếm bộ ba số có tổng bằng X

100 điểm

Viết chương trình nhập hai số nguyên dương \(N\) và \(X\). Hãy đếm số bộ ba số nguyên \((i, j, k)\) sao cho \(1 \leq i, j, k \leq N\) và \(i + j + k = X\).

Input

  • Dòng đầu tiên là số nguyên dương \(N\) (\(1 \leq N \leq 100\)).
  • Dòng thứ hai là số nguyên dương \(X\) (\(1 \leq X \leq 200\)).

Output

Một dòng duy nhất chứa số lượng bộ ba tìm được.

Example

Test 1

Input
5
3
Output
1

root

In kết quả các phép toán

100 điểm

In kết quả của các phép toán sau:

  • \(10 + 5\)

  • \(10 - 5\)

  • \(10 * 5\)

  • \(10 / 5\)

Input

Không có dữ liệu đầu vào.

Output

Bốn dòng chứa kết quả của các phép toán.

Example

Test 1

Input
nothing
Output
10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2

root

In các số từ 1 đến 5

100 điểm

In ra các số từ 1 đến 5 trên cùng một dòng, cách nhau bởi dấu cách.

Input

Không có dữ liệu đầu vào.

Output

Một dòng chứa các số 1 2 3 4 5.

Example

Test 1

Input
Nothing
Output
1 2 3 4 5
Xem thêm