Bài toán liệt kê các tập con m phần tử của tập n phần tử

Thuật toán sinh kế tiếp
– Tìm tử bên phải dãy a1, a2, a3, …, am phần tử ai ≠ n – m + i.

– Thay thế ai = ai + 1.

– Thay aj = ai + j – i, với j = i + 1, i + 2, …, m.

theo công thức thì là thế. nhưng ví dụ cho tập A= {1,2,3,4,5}. sinh tập gồm 3 phần tử.
em vẫn không hiểu cái đoạn sinh từ dãy 124 ra dãy 125 ạ.
nguồn https://hocvachiaseblog.wordpress.com/2016/07/26/thuat-toan-sinh-ke-tiep-3-bai-toan-liet-ke-cac-tap-con-m-phan-tu-cua-tap-n-phan-tu/
anh chị giúp e với. e cảm ơn

Do số bên phải lớn hơn số bên trái (sinh tổ hợp) nên bạn có thể tìm số lớn nhất có thể đứng ở vị trí đó :smiley: rồi bạn sẽ hiểu.

[124] thì 4 chưa phải là lớn nhất nên +1 lên thành [125].

4 Likes

đơn giản quá mà em lại lơ ngơ :<. e chăm chú vào cthuc quá rồi

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?