Jak wygenerować ciąg( przyporządkowanie)
Ostatnio zmodyfikowano 2014-01-13 11:08
przemeczek321 Temat założony przez niniejszego użytkownika |
Jak wygenerować ciąg( przyporządkowanie) » 2014-01-13 00:14:57 Proszę mi wybaczyć za błędy. jestem świeży forum. Problem jest banalny, ale brak mi doświadczenia.
Chciałbym stworzyć funkcje która przyjmuje dwa parametry ( int m, int n) m-liczba możliwych przyporządkowań, n- liczba numerowanych(od 1 do n) rzeczy do przyporządkowania.
W wyniku chciałbym dostawać po kolei możliwe przypadki.
Przykład odpowiedzi dla m=2, n=4; 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 2 1 1 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2
Przykład dla m=3, n=2; 1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3
złożoność jest jest m^n.
Proszę o pomoc.
|
|
Wiesiek |
» 2014-01-13 11:08:44 Rekurencyjnie. Trzeba zadeklarować tablicę t rozmiaru n, a następnie wywołać funkcję przyp(m,n). W funkcji przyp(m,k) piszemy pętlę indeksowaną po i od 1 do m, a w niej wpisujemy t[n-k]=i; if (k>1) przyp(m,k-1); else prezentujWynik(); |
|
« 1 » |