Permutationen ( mit C oder QBASIC ) berechnen

Guten Tag,
bin ein Logical-Fan. Zuerst habe ich Logicals von Hand gelöst, dann habe ich den Rechner zur Hilfe genommen. Jetzt konstruiere ich Logicals. Beispiel:

Rad-Touren-Fahrten

Fünf Vereine der Region richten RTF’s aus. Essentiell ist, dass jede RTF an einem anderen Wochenende stattfindet. Dann kommen, je nach Gegebenheiten, unterschiedlich viele Teilnehmer und gehen auf verschieden lange Strecken.

Vereine: Klein Kleckersdorf, Hundhausen, Berghoch, Seetief, Langleiden
Termine: Ende März, Mai, Juni, Juli, August
Teilnehmerzahl: 100, 150, 180, 210, 250
Streckenlänge: 151 Km, 155 Km, 163 Km, 165 Km, 169 Km

Die Hinweise:

  1. Die Saison beginnt in Berghoch
  2. 250 Starter gingen auf die 165 Km Tour. Das war aber nicht im August
  3. Um den Juni-Termin hats tagelang geschüttet. Drum kamen nur 100 ganz harte Fahrer.
    Und die hatten noch mehr zu strampeln, als die im Juli
  4. Im Mai gingen 30 Fahrer weniger auf die 169 Km-Tour als auf die Tour im August,
    die auch noch die kürzeste war
  5. Die Klein Kleckersdorf-Runde hatte 151 Km, Seetief war 163 Km lang
  6. Unmittelbar vor dem RTF mit 150 Teilnehmern war die 163 Km-Runde dran
  7. Klein Kleckersdorf freut sich über mehr als 200 Starter

Die Lösung ist eine Matrix, in deren Spalten eine Gruppe steht. Etwa die Teilnehmerzahl. Und diese Teilnehmerzahlen können theoretisch alle 5! Möglichkeiten annehmen.
Also habe ich erst mal eine Tabelle mit 120 Zeilen und 5 Spalten gemacht, die ich alle zeilenweise mit je einer Permutation gefüllt habe. D.h., ein ganz hölzernes QBASIC-Programm hats gemacht. 5 ineinandergeschachtelte FOR’s, jede von 1 bis 5, und dann der Vergleich jeder Zahl mit den anderen, ob was gleich ist. Wenn ja, dann nächste FOR, wenn nein, hat man eine Permutation gefunden. Aber ein echtes QBASIC-Programm, das mir sauber und nach Möglichkeit NICHT rekursiv die Permutationen berechnet, das wär was!
Kann mir da einer helfen? Vorab schon mal vielen Dank !!!
H.-P.