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

383

    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. Pride-rautu korvaamaan kirjolohi

      Kekkosen saatanan tunari meni muuttamaan aikoinaan sateenkaariväen kalan nimen. Unkarin vallankumouksen innoittamana n
      Maailman menoa
      32
      2411
    2. Purran aikaisemmat kannattajat siirtyneet Lindtmanin leiriin

      Melkoinen muutos on käynnissä Suomen politiikan kentällä. Tulevista häviäjistä on hirmuinen kiire päästä ajoissa voittaj
      Maailman menoa
      100
      2292
    3. Järkyttävä hetki - Ellen Jokikunnas pöyristyy italialaisen lääkärin työstä

      Unelmia Italiassa -sarjassa ollaan Ellen Jokikunnaksen perheen kanssa Italiassa. Jokikunnas ja Rask ovat rempanneet kakk
      Tv-sarjat
      18
      1339
    4. Oot tosi epätavallinen

      ja erikoinen nainen. Tykästyä ikihyviksi sun kaltaiseen naiseen, mitä tästä pitäis edes ajatella.
      Ikävä
      49
      1207
    5. Työeläkkeet ovat pois työntekijän palkasta

      Jokainen työeläkkeen nimissä maksettu euro on otettu pois työtä tekevältä palkansaajalta. Mitä korkeampi työeläketaso o
      Maailman menoa
      33
      1152
    6. Etkö sä muru mussakaiseni ymmärrä

      Että me päästään lähenemään vain kaveruuden kautta? Vain siten mä voin lähettää sulle kuvia ja viestejä 😌 Tänäänkin o
      Ikävä
      27
      920
    7. Etkö voi antaa edes vihjettä mulle?

      Minkä vain me tiedettäisiin? Naiselta miehelle.
      Ikävä
      51
      830
    8. Muistatko? Maisa Torppa jakso räjäytti Veitolan somen: "epäaitoa ja teeskentelyä"...

      Maisa Torppa täyttää tänään 35 vuotta, onnea! Maria Veitola vieraili Yökylässä-ohjelmassa aikansa kohujulkkis Maisa To
      Suomalaiset julkkikset
      11
      801
    9. Kaksi viikkoa enää Rakas...

      Tietäisinpä miten toimia...
      Ikävä
      53
      735
    10. Sammuuko meillä

      Kipinä kun ei enää nähdä
      Ikävä
      56
      724
    Aihe