Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: "Mahdollisuuslaskin"

jessenic [20.11.2008 17:50:15]

#

Elikkä en oikein saanut mitään aikaiseksi, kun yritin tehdä ns. "mahdollisuuslaskimen".

Jos jotain valmista koodia niin voi laittaa tänne.

Eli sen pitäisi toimia suunnilleen näin:

<?PHP
print_r(mahd(Array("A","B")));
?>

Ja tulostuksen pitäisi olla suunnilleen:

Array(
 [0]=AB
 [1]=BA
)

Lebe80 [20.11.2008 18:59:46]

#

ootko kokeillu esim. sisäkkäisillä for -loopeilla käydä arrayn soluja läpi. Olisikos semmosesta aluksi jotain hyötyä?

Sitten kun olet sen tehnyt, kokeile miten voisi estää esim. tulostuksen jos kaksi samaa kirjainta on peräkkäin yms.

os [20.11.2008 19:46:29]

#

Tarkoitatko "mahdollisuuksilla" annettujen elementtien erilaisia järjestyksiä eli permutaatioita?

Joukon alkioiden permutaatiot voi generoida näin:
http://en.wikipedia.org/wiki/Permutation­#Numbering_permutations

Jos tarkoitit jotakin muuta tai taulukossa voi olla identtisiä elementtejä, niin tuo algoritmi ei sellaisenaan kelpaa. Vastaus kysymykseesi löytyy joka tapauksessa kombinatoriikan avulla.

EDIT: Jos haluat ainoastaan laskea vaihtoehtojen määrän, on tehtävä huomattavasti helpompi. Permutaatioiden määrä on n! / Πi ai!, missä n on taulukon koko ja ai alkion i kopioiden määrä taulukossa. Alkioden määrän kertoma siis jaetaan jokaisen erilaisen alkoin kopioiden määrän kertomalla.

jessenic [20.11.2008 21:51:54]

#

joo nyt sain toimimaan

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta