Cho một chuỗi các ký tự khác nhau và một số n, tạo ra tất cả các kết hợp có thứ tự với sự lặp lại, có độ dài từ 1 đến n, sử dụng các ký tự đó.
Một cách khác để định nghĩa nó là xem các ký tự đã cho là các chữ số "tùy chỉnh" trong cơ sở (cơ số) của số lượng ký tự, sau đó chương trình sẽ tạo ra tất cả các "số" có từ 1 đến n chữ số trong cơ sở đó, tuy nhiên, dẫn đầu "số không" được bao gồm quá.
Các kết hợp nên được sắp xếp theo độ dài của chúng (1 ký tự trước, sau đó 2, v.v.), nhưng ngoài các ký tự đó có thể theo thứ tự bất kỳ. Bạn có thể chọn những cách thuận tiện nhất để xử lý đầu vào và đầu ra. Mã ngắn nhất sẽ thắng.
Ví dụ:
ab, 3
-> a,b,aa,ab,ba,bb,aaa,aab,aba,baa,abb,bab,bba,bbb
0123456789, 2
->0,1,2,3,4,5,6,7,8,9,00,01,...,09,10,11,...,99