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.)
Integer-joukon
2
398
Vastaukset
- 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
VVM Riikka Purra ministerin asemassaan valehteli ja rikkoi perustuslakia.
Valtiovarainministeri Riikka Purra (PS) kiisti Ylen ykkösaamussa luvanneensa ennen vaaleja, ettei pienituloisilta leikat156098Riikan vappumiljardin maksavat sairaat, vanhukset ja kuolleiden omaiset
Vappumiljardi, eli Riikan päätös laskea yhteisöveroa kaksi prosenttiyksikköä 18 prosenttiin, vie verotuloja noin miljard2483750Purra ennen vaaleja: "pienituloisten etuuksista leikkaaminen ei meille käy"
"...perussuomalaisten ero muun muassa kokoomukseen, joka haluaa leikata pienituloisten etuuksista, se ei meille käy."283441Seiska: Helmi Loukasmäki, 25, rehellisenä Dannystä, 83, ja isosta ikäerosta
Helmi Loukasmäki, 25, ja Ilkka Danny Lipsanen, 83, ovat pitäneet yhtä jo useamman vuoden. Nyt Helmi kertoo rehellisenä i413162Ammattiliittojen jäsenmaksut valtion maksettavaksi
Ammattiliitot neuvottelvat jäsenilleen paremmat palkat, jotka lisäävät valtio verotuloja. Tästä syystä valton tulee maks203038Uus terveysassema
Ei taia olla vielä ketjua siitä ni minäpä alotan. Joko sitä ruvettas porukalla nyt mollaamaa ja arvostelemaa ku nii ruma132875Toksinen persuvasemmisto
Kun toksiset ihmiset eivät kykene hallitsemaan sinua, saamaan sinua näkemään asiat niin kuin he haluaa, toimimaan niin k192719Särkyneelle sydämelle
Särjin sun sydämen En voi lakata itkemästä Minuun tekee kipeää Koska sinuunkin. Että näin.. En ole runoilija😂512395Purralla luistaa hihna isolla pyörällä, kasetti ei kestä
”Purra käy nyt pahasti ylikierroksilla” Nähtiinhän Purran sekoilut jo Lohjan torilla taannoin. Eikö eduskunnassa ole271983Riikka Purra: Autoilu tulee Suomen valtiolle pyöräilyä edullisemmaksi! Siksi pyöräetu poistettiin!
🐸🐸🐸🐸🐸 Perussuomalaisten trollitehdas kiukkuaa kun Riikka Purra päästi taas sammakoita suustaan että autoilu tulee S3311706