Ik probeer een script te maken die mogelijke combinaties genereert.
Stel je moet met een vliegtuig x aantal trajecten vliegen. Voor elk traject kun je beslissen of je bij zal tanken of niet. Startplaats noemen we punt 0. En afhankelijk van het aantal trajecten opeenvolgend punt 1 2 3 ...

Stel je hebt 4 trajecten. Mogelijks neem je dus 4 punten waar er getankt wordt. Mogelijks tank je genoeg op punt 0 voor alle 4 trajecten. Mogelijkheden met voorafgaand het aantal tankbeurten:
1 : 0
2 : 0-1 of 0-2 of 0-3
3 : 0-1-2 of 0-1-3 of 0-2-3
4 : 0-1-2-3

8 mogelijkheden dus. Mogelijkheden zijn natuurlijk afhankelijk van het aantal trajecten, dit met formule n = 2 ^ (trajecten - 1).

Hoe maak ik het makkelijkst een script welke dit aankan, gezien het aantal digits varieert?


<?php
$possibility = 0;
$maxPossibilities = pow(2,$legs-1);
$numberOfDigits = 1;
$maxDegits = $legs;
$firstDigit = 0;
$lastDigit = $legs - 1;
$fuelStops = 1;
$maxFuelStops = $legs;

while ($possibilities <= $maxPossibilities) {
	for ($fuelStop = 1; $fuelStops <= $maxFuelStops; $fuelStop++) {
		for ($numberOfDigits = 1; $numberOfDigits <= $maxDegits; $numberOfDigits ++) {
			echo $firstDigit;
			while ($nextDigit)

			echo $possibility;
			echo "<br /><br />";
			$possibility++;
		}
	}
}
?>


[size=xsmall]Toevoeging op 21/11/2014 18:31:17:[/size]

De lijst met variabele trajecten 5 bvb:
0
01
02
03
04
012
013
014
023
024
034
0123
0124
0134
0234
01234

16 Mogelijkheden. Het lijkt me stom om permutaties range 0-4 toe te passen en daaruit alleen de resultaten te filteren die 1) met een 0 beginnen , en 2) cijfers te bevatten die elkaar opvolgen... Dat is rekenwerk om erna maar een deel effectief van te gebruiken.

Reageren