Integer-joukon

kombinaatiot

Vähäiset ohjelmointitaitoni ovat unohtumassa. Onkohan Javan nykyisissä versioissa - esim. Math-kirjastossa - olemassa valmis metodi, joka laskee jonkun integer-joukon kombinaatiot?

Tai löytyisiköhän tällainen koodinpätkä netistä tai voisiko joku näppärä kirjoittaa pätkän, joka tulostaa jonkun integer-joukon kaikki eri kombinaatiot, esim. kaikki mahdolliset 3 integerin osajoukot, jotka voidaan muodostaa 7 integerin joukosta.

Siis syötteenä joukko integerejä, tulostetaan joko näytölle tai tiedostoon.
Koodilla ei sinänsä ole väliä, mutta tarvitsisin työkalun, jolla voisi näppärästi laskea lukujoukkojen kombinaatioita. Löytyykö tällaista työkalua muuten valmiina esimerkiksi netistä? (Silloin en tarvitsisi koodia.)

2

449

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Ehkä?

      class Kombi {

      static boolean[] valittu;
      static int lkm;

      public static void main (String[] args) {
      lkm = 8;
      valittu = new boolean[lkm];
      valitse (lkm);
      }

      static void valitse (int taso) {
      if (taso == 0) {
      System.out.print ("Seuraava kombinaatio: ");
      for (int i = 0; i < lkm; i) {
      if (valittu [i]) System.out.print (i 1);
      }
      System.out.println ("");
      return ;
      }
      valittu[taso-1] = false;
      valitse (taso-1);
      valittu[taso-1] = true;
      valitse (taso-1);
      }
      }

      Jos haluat tietyn kokoisia osajoukkoja, voit lisätä rekursiiviseen funktion laskurin, joka kertoo montako true-arvoa on jo laitettu. Sitä testaamalla voit heittää epäkelvot yhdistelmät pois.

      Tämä on minimaalinen toimiva ohjelma. Voit lukea lkm-muuttujan arvon komentoriviltä ja muutenkin parannella toimintaa. Tulostustakin voinee korjailla järkevämmäksi, koska se ei toimi lukujen kasvaessa >= 10.

    • *--*--*

      Jos tarkoitit esim. seuraavaa:

      A: set(1,2,3,4);
      powerset (A, 3);
      tulostaa:
      {{1,2,3},{1,2,4},{1,3,4},{2,3,4}}

      Ohjelma on Maxima nimeltään ja löytyy tuolta:

      http://maxima.sourceforge.net/

      (linux-distroissa löytynee pakettihallinnasta, muutoin download-linkki vasemmalla. OS X:kin taitaa löytyä)

      On muuten sairaan hyvä kaikille matikkaa tarvitseville. (Ei toisin ole mitään tekemistä Javan kanssa - onneksi)

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Joensuun kaupunki levittelee tonttitietoja Keskisuomalaiselle

      Sähköposteja ja tonttitietoja levitellään mm. Pasi Koivumaalle
      Joensuu
      27
      3325
    2. Tiesitkö tätä ex-miehistä? Noriko Salo jysäytti yllätyspaljastuksen

      Noriko Salo ja ex-F1 kuski Mika Salo olivat naimisissa v. 1999-2022. Kirsi Salon ex-mies puolestaan on muusikko Sammy A
      Kotimaiset julkkisjuorut
      12
      2469
    3. Kuka? Riehui valtuuston kokouksessa tänään ?

      Onko puolangan puolesta porukkaa. Vaikuttaa siltä. Sairasta.
      Puolanka
      86
      2388
    4. Huh, huh! Sofia Belorf ei ole itse pessyt hiuksiaan kolmeen vuoteen

      Sofia Belorf elää ökyelämää Dubaissa. Sofian arjessa kulta, raha ja luksus ovat vahvasti läsnä. Luksuselämään tottuneell
      Kotimaiset julkkisjuorut
      107
      2084
    5. Toivoisitko Rakas vielä?

      Haluaisitko vielä? Uskoisin osaavani näyttää sinulle, kuinka ainutlaatuinen nainen olet.
      Ikävä
      76
      1673
    6. Ihan pieni näkeminen vaan

      👋 ja minä olisin valmis jo vaikka mihin sun kanssa. Nämä on näitä.. 🤫🫣😘💥
      Ikävä
      48
      1564
    7. Sointu Borg tilittää - Ei suostu enää tähän työhön: "Katastrofi"

      Sointu Borg on mediapersoona, joka löi itsensä läpi Diili-realityssä. Borg on monipuolinen tekijä: mediapersoona, juonta
      Suomalaiset julkkikset
      26
      1466
    8. Keskustelua kasteesta

      You tubessa kaksi pappia keskustelivat kasteesta ja kritisoivat raamatullista uskovien kastetta. Toinen heistä yritti
      Kaste
      400
      1305
    9. Jos saisit antaa yhden neuvon

      jälkikasvullesi elämää varten, niin minkä antaisit?
      Sinkut
      128
      1207
    10. Tulipalo viimeyönä

      Olipa ikävä kuulla tämä tulipalo, nyt on jatkuvasti asuinpaloja.Grillikausi alkanut.Grillit pois parvekkeilta ja asuntoj
      Jämsä
      15
      1136
    Aihe