Weiß jemand, wie folgendes Problem zu lösen ist? m Geldbeträge sind auf n Zeitpunkte zu verteilen.
Beispiel: m=2 (A,B) auf n=3 Zeitpunkte 1,2,3:
A B
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
Es gibt also k = n^m Möglichkeiten.
Für m=2 kann man alle Permutationen so erzeugen:
|
C/C++ Quellcode
|
1
2
3
4
5
6
7
8
9
10
|
k=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
k++;
A[k] = i;
B[k] = j;
}
}
|
Aber wie geht das allgemein? Ich kenne ja vorher nicht m, weiß also nicht, wieviele for-Schleifen ich brauche.
Gibt es eine iterative, NICHT-REKURSIVE Lösung zu diesem Problem?