Beste allemaal, ik ben bezig met een tooltje om een string van precies x karakters te vullen met random woorden. Ik geef aan uit hoeveel woorden de string moet bestaan en wat de tussenkarakters zijn (en zo zijn er nog wat eisen). Vervolgens scant een scriptje in fase 1 een taalbestand op woorden die voldoen aan de eisen. In fase 2 worden die woorden en tussenkarakters (meestal komma gevolgd door spatie) op brute-force wijze net zo lang gecombineerd totdat een string van precies x karakters ontstaat. Al met al kan dat behoorlijk wat processortijd kosten.. volgens mij moet dat een stuk slimmer kunnen. Ik ben echter niet zo wiskundig aangelegd...
Is het mogelijk om een vergelijking als $a + $b + $c + $n = x chars op te lossen, waarbij $n tussen y en z ligt?
Bijvoorbeeld: y = 3, z = 5. Dan een vergelijking als $a + $b + $c + $d = 15 levert 3 + 5 + 4 + 3 = 15 op.
In dat geval selecteert het scriptje namelijk een wood van 3, 5, 4 en 3 characters om zo op de totale lengte van 15 uit te komen.
Zijn er andere manieren om dit probleem op te lossen? Overigens, voor fase 1 is op dit moment al een cachingmechanisme, fase 2 is in principe niet te cachen omdat er telkens een andere string teruggegeven moet worden.
Is het mogelijk om een vergelijking als $a + $b + $c + $n = x chars op te lossen, waarbij $n tussen y en z ligt?
Bijvoorbeeld: y = 3, z = 5. Dan een vergelijking als $a + $b + $c + $d = 15 levert 3 + 5 + 4 + 3 = 15 op.
In dat geval selecteert het scriptje namelijk een wood van 3, 5, 4 en 3 characters om zo op de totale lengte van 15 uit te komen.
Zijn er andere manieren om dit probleem op te lossen? Overigens, voor fase 1 is op dit moment al een cachingmechanisme, fase 2 is in principe niet te cachen omdat er telkens een andere string teruggegeven moet worden.
[ Voor 4% gewijzigd door Verwijderd op 15-11-2005 11:10 ]