Ich suche ein Program für Kombinationen?

TBDRM  07.07.2022, 22:56

Möchtest Du die Anzahl aller Möglichkeiten wissen?

Also ich kenne kein Programm.

fz234 
Fragesteller
 07.07.2022, 22:58

nein ich möchte alle kombinationen haben

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
>
Woher ich das weiß:Studium / Ausbildung

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 ;)

Woher ich das weiß:Hobby – Mathematik (u. Physik)
fz234 
Fragesteller
 07.07.2022, 23:16

ja sind ein paar mehr, das dient nur einem beispiel :)

1

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.