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
361
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
Maahanmuuttajien vaikutus Suomen valtiontalouteen positiivinen
Maahanmuuttajat maksavat enemmän tuloveroja kuin saavat tulonsiirtoja. Eroavat persuista tässä suhteessa. Persuista o4034849Olen Päivi Räsäsen puolella
En oe uskovainen enkä kristillisdemograattikaan mutta onhan tuo naurettavaa laittaa Päivi syylliseksi omasta mielipit4752991Ukrainan tiedustelun huippupotti - Iski ensin yhteen satamaan, sitten toiseen
Ukrainan tiedustelupalvelu SBU kertoo johtaneensa operaatiota, jossa on isketty drooneilla Venäjän tärkeimpiin satamiin1292591Ulkomaalaistaustaiset tulevat kalliiksi yhteiskunnalle.
Selvitys: Ulkomaalaistaustaiset saivat selvästi enemmän työttömyysetuuksia ja toimeentulotukea kuin suomalaistaustaiset.1932532Nuhteettomia edustajia
Korkein oikeus tuomitsi Päivi Räsäsen kiihottamisesta kansanryhmää vastaan Kansanedustaja Päivi Räsästä (kd.) vastaan no2302529"Mieheksi ja naiseksi hän heidät loi."
Räsäsen tuomio on iso harppaus woke-valtioksi. – Tässä maassa on nyt selvästi kiellettyjä sanoja ja ajatusrikoksia. –601615Päivi Räsänen tuomittiin rikoksesta...
...kiihottamisesta kansanryhmää vastaan. Tuskin tajuaa silti vieläkään, että raamattu ei ole lakikirja. https://yle.fi/a5881520Korkein oikeus antaa Räsäselle vastauksen klo 9. Varmaan vapautus
Miten veikkaat että Päiville käypi? Päivi pitää lehdistökonferenssin klo 9.30. Koko media on läsnä. 7 v taistelu on ohii4701345Huumeliika mellastaa Suomussalmella
Varastanut S-marketissa, jopa kolme kertaa päivässä. Päätekijä pitänyt kuumeorjanaan naistaan useita vuosia. Mies potki141313Ihana sinä (m)
Oispa kiva nähdä sua. Uskomatonta, miten paljon sä pyörit mun ajatuksissa. Oonkohan mä sun mielessä? Haluaisitko nähdä v421060