Gelukkig zijn de meeste functies al redelijk bekend bij me en het is helaas ook niet voor vergelijken.
Het is voor een game voor kinderen, een rekengame.
Zij moeten eerst het aantal mogelijkheden raden (faculteit), dat is gelukkgi niet zo moeilijk te berekenen, daarna moeten ze alle mogelijkheden opschrijven.
Die check ik daarna dan tegen de oplossing van dit probleem ;)
@Dreampower -> Ja want kinderen gaan zulke grote aantallen gebruiken en dan alle mogelijkheden opschrijven :P
Maar voor de sake of php experts, ben ik wel benieuwd geworden naar een suitable oplossing zonder mijn execution time te halen..
Ik drink er nog eentje op...
Uiteraard is deze oplossing niet geschikt voor 10 of meer letters, maar dat lijkt me in deze applicatie ook niet echt gewenst. Mijn oplossing is gebaseerd op net zo lang je array door elkaar shuffelen totdat je alle oplossingen gevonden hebt, en voor kleine aantallen is dat best te doen.
En nee, ik had dit scriptje niet op de plank liggen. Maar dit scriptje is nu ook weer niet echt hogere wetenschap ofzo...
Maar dit scriptje is nu ook weer niet echt hogere wetenschap ofzo...
Voor sommige mensen wel :P
?
Onbekende gebruiker
23-06-2009 11:14
Jacco schreef op 23.06.2009 11:08
Maar dit scriptje is nu ook weer niet echt hogere wetenschap ofzo...
Voor sommige mensen wel :P
Bwah, dat valt toch mee? Het is gewoon faculteit, dat staat op wiki. Dus als je 5 dingen hebt, doe je gewoon 5*4*3*2*1. Heel simpel. Nu weet je op hoeveel verschillende manieren iets kan oordenen.
Ik vraag me alleen af of die while wel klopt, maar zal vast wel kloppen door die if (iig geen dubbele).
Dit is nog maar simpele statistiek :-).
Ik vraag me alleen af of die while wel klopt, maar zal vast wel kloppen door die if (iig geen dubbele).
Die klopt inderdaad. De while loopt net zolang door totdat het aantal oplossingen in de oplossingen array gelijk is aan het berekende aantal oplossingen. En er worden alleen oplossingen aan de array toegevoegd als ze er nog niet in zitten, dus enkel unieke oplossingen in de array :)
Netjes,
Alleen ben k niet z'n fan van recursieve functies in PHP, maar alsnog is het heel netjes gedaan.
Overigens krijg je al snel dit soort foutmeldingen door PHP met recursieve functies:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes)
Deze error onstaat al na deze array:
array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i')