alle möglichen kombinationen ermitteln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • alle möglichen kombinationen ermitteln

    ich möchte z.b. aus 20 vorgegebenen unterschiedlichen zahlen alle 6er kombinationen errechnen und ausgeben. wie könnte man das in php umsetzen?

  • #2
    mit oder ohne duplikate?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      man kann alles, vorausgesetzt du hast einen Formel/Algorithmus dafür. Haste denn welche?

      Kommentar


      • #4
        ja genau, ich suche eigentlich erstmal den algorithmus dafür. die kombinationen sollen keine duplikate enthalten.

        Kommentar


        • #5
          vielleicht helfen die passwort-generatoren auf die sprünge.

          Kommentar


          • #6
            PHP-Code:
            function do_combine($zahlen$laenge)
            {
              
            $elemente count($zahlen);
              
            $anzahl pow($elemente$laenge);
              for (
            $i 0$i $anzahl$i++)
              {
                
            $temp $i;
                
            $ergebnis[$i] = array();
                for (
            $j 0$j $laenge$j++)
                {
                  if (!
            in_array($zahlen[$temp%$elemente], $ergebnis[$i]))
                  {
                    
            $ergebnis[$i][$j] = $zahlen[$temp%$elemente];
                    
            $temp $temp $elemente;
                  }   
                }
                if (
            count(array_unique($ergebnis[$i])) < $laenge)
                  unset(
            $ergebnis[$i]);
              }
              return 
            array_values($ergebnis);
            }

            $zahlen = array(123);
            $laenge 3;


            print_r(do_combine($zahlen$laenge)); 
            versuch das mal, für das testarray geht's, aber frag nicht nach performance
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              @mrhappiness: vielen dank! wenn man die ausgabe ändert funktioniert dein script. aber jetzt sehe ich was ich vergessen habe zu sagen. die reihenfolge der zahlen ist egal. beispiel: alle 2er kombis aus 1,2,3 soll 12, 13, und 23 ergeben. ob 12 oder 21 soll egal sein. wie muss man dann dein script ändern?

              Kommentar


              • #8
                Ist zwar ein sehr alter Thread, aber vielleicht kann man mir ja trotzdem helfen

                Der gegebene Code macht genau das was ich erreichen möchte, ich verstehe nur leider nicht warum.
                Ich bin was Php angeht aber auch ein totaler Anfänger.

                Bis zur zweiten For-Schleife, welche die Arrays ergebnis[i] jeweils von Position 0 bis 5 auffüllt kann ich folgen. Diese Schleife jedoch verstehe Ich nicht.

                Konkret:
                Was passiert wenn der Wert (temp%elemente) bereits im Array ist?
                Und wie kommt ich durch die Rechnungen mit temp immer auf neue Zahlen und gehe alle Kombination durch?
                Für Hilfe wäre ich sehr dankbar

                Kommentar

                Lädt...
                X