विभिन्न वर्णों की एक स्ट्रिंग को देखते हुए, और एक नंबर n, उन वर्णों का उपयोग करते हुए, पुनरावृत्ति के साथ सभी क्रमबद्ध संयोजनों को लंबाई 1 से n तक उत्पन्न करते हैं।
इसे परिभाषित करने का एक और तरीका यह है कि दिए गए वर्णों को वर्णों की संख्या के आधार (मूलांक) में "कस्टम" अंकों के रूप में देखा जाए, फिर कार्यक्रम को उस आधार में 1 से n अंकों के साथ सभी "संख्याओं" को उत्पन्न करना चाहिए, हालांकि, अग्रणी "शून्य" भी शामिल हैं।
संयोजनों को उनकी लंबाई (1 वर्ण पहले, फिर 2, आदि) द्वारा आदेश दिया जाना चाहिए, लेकिन इसके अलावा वे किसी भी क्रम में हो सकते हैं। आप इनपुट और आउटपुट को संभालने के सबसे सुविधाजनक तरीके चुन सकते हैं। सबसे छोटा कोड जीतता है।
उदाहरण:
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