Ich suche ein Program für Kombinationen?
Gibt es ein Programm, am besten zum donwloaden, in dem man Kombinationen ausgeben kann?
Mein Wunsch wäre, das ich quasi mehrer Zahlen reihen eingeben kann,
zb
Zahlenreihe 1: 5 6 8
Zahlenreihe 2 : 3 1 7
Zahlenreihe 3 : 8 9 1
und aus dieser Zahlenreihe werden alle Kombinationen erstellt wobei aus jeder Reihe, immer nur eine Zahl entnommen wird, also zb :
5 3 8 oder 8 1 1 oder 6 7 9.
Wäre richtig gut wenn mir jemand da helfen kann!
lg!
3 Antworten
also in C müsste es so gehen:
Quellcode:
#include <stdio.h>
int num0[] = {5,6,8,-1};
int num1[] = {3,1,7,-1};
int num2[] = {8,9,1,-1};
int * nums[] = {num0,num1,num2};
const int C = sizeof(nums)/sizeof(*nums);
int me[C];
void pa(int lvl) {
if (lvl==C) {
for (int i=0; i<C; i++) printf("%u",me[i]);
printf("\n");
} else {
int * nlvl = nums[lvl];
for (int i=0; nlvl[i]>=0; i++) {
me[lvl] = nlvl[i];
pa(lvl+1);
}
}
}
int main() {
pa(0);
return 0;
}
Kommandos&Ausgabe:
> vi a.c
> c++ -o a a.c -O3
> ./a
538
539
531
518
519
511
578
579
571
638
639
631
618
619
611
678
679
671
838
839
831
818
819
811
878
879
871
>
Kenne keins, sorry. Könntest Du aber eigentlich alle einfach aufschreiben. Wären ja nur 27 Möglichkeiten, wenn pro Ziffer eine Zahl einer Reihe (für jede Ziffer eine andere Reihe) in Frage kommt bzw. 343 Möglichkeiten, wenn für jede Ziffer irgendeine Zahl irgendeiner Reihe in Frage kommt.
Ok... nur der Fall mit den 27 Möglichkeiten könnte man einfach aufschreiben ;)
Das werden sehr schnell sehr viele Kombinationen.
Wenn du z.B. 10 Zahlenreihen mit je 20 Zahlen hast, kommst du auf 20^10 = 10.240.000.000.000 Kombinationen.
Wenn du die auf Papier ausdruckst (10 Kombinationen pro Zeile bei 100 Zeilen), brauchst du 10.240.000.000 Blatt. Bei 5g pro Blatt sind das 51.200 t oder ca 2500 LKW zu 20 t.
Ich glaube, das willst du dir nicht wirklich zumuten.
ja sind ein paar mehr, das dient nur einem beispiel :)