Vind de kortste route...
Pagina: « vorige 1 2 3 volgende »
@Peter
Zie mijn vorige bericht... Ik probeer nu ff snel wat te maken..
Zie mijn vorige bericht... Ik probeer nu ff snel wat te maken..
Je hebt gelijk trouwens @robbert
je moet werken met een switcher
1
10
of
1
01
en dan elke keer de laagste waarde switchen, net als een binair rekenen.
je moet werken met een switcher
1
10
of
1
01
en dan elke keer de laagste waarde switchen, net als een binair rekenen.
@Peter
Zoiets kan je wel al vast mee verder denk ik. :) Ik heb het nu even zo gedaan dat je voor elk item wat er bestaat de juiste keys worden weergegeven (het rijnummer, de key van het item in die rij en de waarde)
http://nl.php.net/function.array-key-exists
Met deze functie controleer je of de key die je op wilt vragen uit $pyramide[$rowkey+1] (de volgende rij) wel bestaat. Bestaat die, en is deze gelijk aan de $waardekey van het voorgaande item (of die waardekey+1) dan moet je die meerekenen. Zo kan je eigenlijk alle mogelijkheden volgens mij doorlopen.
Ik ga morgen nog even verder hiermee, mijn ogen zijn nogal moe. Maar ik denk dat de bedoeling je zo wel duidelijk is..
Code (php)
Zoiets kan je wel al vast mee verder denk ik. :) Ik heb het nu even zo gedaan dat je voor elk item wat er bestaat de juiste keys worden weergegeven (het rijnummer, de key van het item in die rij en de waarde)
http://nl.php.net/function.array-key-exists
Met deze functie controleer je of de key die je op wilt vragen uit $pyramide[$rowkey+1] (de volgende rij) wel bestaat. Bestaat die, en is deze gelijk aan de $waardekey van het voorgaande item (of die waardekey+1) dan moet je die meerekenen. Zo kan je eigenlijk alle mogelijkheden volgens mij doorlopen.
Ik ga morgen nog even verder hiermee, mijn ogen zijn nogal moe. Maar ik denk dat de bedoeling je zo wel duidelijk is..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function reken($x, $y, $tekst='')
{
global $array;
$tekst .= $array[$y][$x];
if($x < count($array[$y]) - 1)
{
reken($x+1, $y, substr($tekst, 0, strrpos($tekst, '+')) . '+');
}
if($y < count($array) - 1)
{
reken(0, $y+1, $tekst . '+');
}
else
{
echo $tekst . '=';
echo eval('echo ' . $tekst . ';') . '<br/>';
}
}
$array = array(array(8),
array(7, 5),
array(5, 7, 8),
array(3, 9, 4, 2)
);
for($y=0; $y<count($array); $y++)
{
for($x=0; $x<count($array[$y]); $x++)
{
echo $array[$y][$x] . ' ';
}
echo '<br/>';
}
echo '<br/>';
reken(0, 0);
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function reken($x, $y, $tekst='')
{
global $array;
$tekst .= $array[$y][$x];
if($x < count($array[$y]) - 1)
{
reken($x+1, $y, substr($tekst, 0, strrpos($tekst, '+')) . '+');
}
if($y < count($array) - 1)
{
reken(0, $y+1, $tekst . '+');
}
else
{
echo $tekst . '=';
echo eval('echo ' . $tekst . ';') . '<br/>';
}
}
$array = array(array(8),
array(7, 5),
array(5, 7, 8),
array(3, 9, 4, 2)
);
for($y=0; $y<count($array); $y++)
{
for($x=0; $x<count($array[$y]); $x++)
{
echo $array[$y][$x] . ' ';
}
echo '<br/>';
}
echo '<br/>';
reken(0, 0);
?>
Output:
8
7 5
5 7 8
3 9 4 2
8+5+8+2=23
8+5+8+4=25
8+5+8+9=30
8+5+8+3=24
8+5+7+2=22
8+5+7+4=24
8+5+7+9=29
8+5+7+3=23
8+5+5+2=20
8+5+5+4=22
8+5+5+9=27
8+5+5+3=21
8+7+8+2=25
8+7+8+4=27
8+7+8+9=32
8+7+8+3=26
8+7+7+2=24
8+7+7+4=26
8+7+7+9=31
8+7+7+3=25
8+7+5+2=22
8+7+5+4=24
8+7+5+9=29
8+7+5+3=23
huh hoe kan ik zo weinig oplossingen hebben dan?
8 + 7 + 5 + 3 = 23
8 + 7 + 5 + 9 = 29
8 + 7 + 7 + 9 = 31
8 + 7 + 7 + 4 = 26
8 + 5 + 7 + 9 = 29
8 + 5 + 7 + 4 = 24
8 + 5 + 8 + 4 = 25
8 + 5 + 8 + 2 = 23
De gemiddelde: 31.
Edit:
Ow, je hebt alle combinaties gedaan
in plaats van dit:
1
1
1 of 2
heb je gedaan:
1
1
1 of 2 of 3 of 4
8 + 7 + 5 + 3 = 23
8 + 7 + 5 + 9 = 29
8 + 7 + 7 + 9 = 31
8 + 7 + 7 + 4 = 26
8 + 5 + 7 + 9 = 29
8 + 5 + 7 + 4 = 24
8 + 5 + 8 + 4 = 25
8 + 5 + 8 + 2 = 23
De gemiddelde: 31.
Edit:
Ow, je hebt alle combinaties gedaan
in plaats van dit:
1
1
1 of 2
heb je gedaan:
1
1
1 of 2 of 3 of 4
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
'Peter:
huh hoe kan ik zo weinig oplossingen hebben dan?
8 + 7 + 5 + 3 = 23
8 + 7 + 5 + 9 = 29
8 + 7 + 7 + 9 = 31
8 + 7 + 7 + 4 = 26
8 + 5 + 7 + 9 = 29
8 + 5 + 7 + 4 = 24
8 + 5 + 8 + 4 = 25
8 + 5 + 8 + 2 = 23
De gemiddelde: 31.
Edit:
Ow, je hebt alle combinaties gedaan
in plaats van dit:
1
1
1 of 2
heb je gedaan:
1
1
1 of 2 of 3 of 4
8 + 7 + 5 + 3 = 23
8 + 7 + 5 + 9 = 29
8 + 7 + 7 + 9 = 31
8 + 7 + 7 + 4 = 26
8 + 5 + 7 + 9 = 29
8 + 5 + 7 + 4 = 24
8 + 5 + 8 + 4 = 25
8 + 5 + 8 + 2 = 23
De gemiddelde: 31.
Edit:
Ow, je hebt alle combinaties gedaan
in plaats van dit:
1
1
1 of 2
heb je gedaan:
1
1
1 of 2 of 3 of 4
Tja, de helft vergeten misschien?
Quote:
van boven naar beneden alle mogelijkheden gebruiken.
Je vroeg om álle mogelijkheden.
Niet bumpen LOL, je hebt de edit knop ervoor ;)
maar ik bedoelde juist alle mogelijkheden die vanuit die manier eruit komen.
Edit: Jammer dat je de rechten hebt om posts gewoon te verwijderen :P
maar ik bedoelde juist alle mogelijkheden die vanuit die manier eruit komen.
Edit: Jammer dat je de rechten hebt om posts gewoon te verwijderen :P
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
'Peter:
Niet bumpen LOL, je hebt de edit knop ervoor ;)
Edit: Jammer dat je de rechten hebt om posts gewoon te verwijderen :P
Edit: Jammer dat je de rechten hebt om posts gewoon te verwijderen :P
Leuk hé.....
Maar wat bedoel je met
>>> van boven naar beneden alle mogelijkheden gebruiken. <<<
Edit: Je hebt gewoon 1x2x3x4=24 mogelijkheden en die geeft mijn scriptje ook allemaal.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
nou stel je voor je hebt een tak, dan heb je 2 mogelijkheden
_1
1_2
of 1 of 2
nou als ie wat groter word:
__1
_2_3
4_5_6
dan hoort bij 1 of 2 of 3
bij 2 hoort dan of 4 of 5 maar geen 6 omdat die niet eraan vast zit
en bij 3 hoort 5 of 6 maar geen 4
hopelijk is het duidelijk.
edit:
maar ik heb al die mogelijkheden niet nodig, alleen alle mogelijkheden die per tak/groep kunnen gaan.
_1
1_2
of 1 of 2
nou als ie wat groter word:
__1
_2_3
4_5_6
dan hoort bij 1 of 2 of 3
bij 2 hoort dan of 4 of 5 maar geen 6 omdat die niet eraan vast zit
en bij 3 hoort 5 of 6 maar geen 4
hopelijk is het duidelijk.
edit:
maar ik heb al die mogelijkheden niet nodig, alleen alle mogelijkheden die per tak/groep kunnen gaan.
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
Moet ik weer opnieuw na gaan denken. ;-)
Ik ben er wel aardig duf van geworden.
Maar ik zal eens kijken of dat ook lukt.
Ik ben er wel aardig duf van geworden.
Maar ik zal eens kijken of dat ook lukt.
sorry :P
Edit: ik ga denk ik nu slappe, ik bekijk morgen wel. Ik bedank je nu alvast. moet morgen vroeg op..
Edit: ik ga denk ik nu slappe, ik bekijk morgen wel. Ik bedank je nu alvast. moet morgen vroeg op..
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function reken($x, $y, $tekst='', $x2=1000)
{
global $array;
$tekst .= $array[$y][$x];
if($x < count($array[$y])-1 and $x < $x2)
{
reken($x+1, $y, substr($tekst, 0, strrpos($tekst, '+')) . '+', $x2);
}
if($y < count($array) - 1)
{
reken($x, $y+1, $tekst . '+', $x+1);
}
else
{
echo $tekst . '=';
echo eval('echo ' . $tekst . ';') . '<br/>';
}
}
$array = array(array(8),
array(7, 5),
array(5, 7, 8),
array(3, 9, 4, 2)
);
for($y=0; $y<count($array); $y++)
{
for($x=0; $x<count($array[$y]); $x++)
{
echo $array[$y][$x] . ' ';
}
echo '<br/>';
}
echo '<br/>';
reken(0, 0);
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function reken($x, $y, $tekst='', $x2=1000)
{
global $array;
$tekst .= $array[$y][$x];
if($x < count($array[$y])-1 and $x < $x2)
{
reken($x+1, $y, substr($tekst, 0, strrpos($tekst, '+')) . '+', $x2);
}
if($y < count($array) - 1)
{
reken($x, $y+1, $tekst . '+', $x+1);
}
else
{
echo $tekst . '=';
echo eval('echo ' . $tekst . ';') . '<br/>';
}
}
$array = array(array(8),
array(7, 5),
array(5, 7, 8),
array(3, 9, 4, 2)
);
for($y=0; $y<count($array); $y++)
{
for($x=0; $x<count($array[$y]); $x++)
{
echo $array[$y][$x] . ' ';
}
echo '<br/>';
}
echo '<br/>';
reken(0, 0);
?>
Output:
8
7 5
5 7 8
3 9 4 2
8+5+8+2=23
8+5+8+4=25
8+5+7+4=24
8+5+7+9=29
8+7+7+4=26
8+7+7+9=31
8+7+5+9=29
8+7+5+3=23
nu probeer ik dat in een formule te maken omdat dit script binnen 5 seconden uitgevoerd moet worden..
als ik het run namelijk is mijn pagina niet eens klaar binnen 5 minuten :S xD
zoals ik aangegeven had ken ik die moeilijke wiskunde regels niet
ik heb tot nu toe zoiets kunnen herleiden:
bv.
1
23
456
1+2+4=7
1+2+5=8
1+3+5=9
1+3+6=10
totaal=34
((onderste aantal)+1)*bovenste = 1 * 4 = 4
(onderste linkers)+(onderste rechter)+((midden alle getallen)*2) = 4+6+10=20
(middenstuk rechts*2)+(middenstuk links*2)=(2*2)+(3*2)=10
totaal=34
maar als ik dit in een grotere piramide uitvoer klopt er nix van mijn regeltje.
hulp?
als ik het run namelijk is mijn pagina niet eens klaar binnen 5 minuten :S xD
zoals ik aangegeven had ken ik die moeilijke wiskunde regels niet
ik heb tot nu toe zoiets kunnen herleiden:
bv.
1
23
456
1+2+4=7
1+2+5=8
1+3+5=9
1+3+6=10
totaal=34
((onderste aantal)+1)*bovenste = 1 * 4 = 4
(onderste linkers)+(onderste rechter)+((midden alle getallen)*2) = 4+6+10=20
(middenstuk rechts*2)+(middenstuk links*2)=(2*2)+(3*2)=10
totaal=34
maar als ik dit in een grotere piramide uitvoer klopt er nix van mijn regeltje.
hulp?
'Peter:
... omdat dit script binnen 5 seconden uitgevoerd moet worden .... is mijn pagina niet eens klaar binnen 5 minuten
Huh. Hier is het klik en klaar.
Edit: http://www.test.santhe.nl/test.php
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
'SanThe:
Huh. Hier is het klik en klaar.
'Peter:
... omdat dit script binnen 5 seconden uitgevoerd moet worden .... is mijn pagina niet eens klaar binnen 5 minuten
Huh. Hier is het klik en klaar.
Bij mij ook, maar als je een piramide van nogal groot formaat gaat doorlopen met de PHP code, dan gaat dat wel even duren.
Ik weet niet of dit zichtbaar is als je niet ingelogd bent
maar de Link naar dat file
maar de Link naar dat file
Geinig. En wat moet je daar dan van hebben?
wat je script ook doet zeg maar
in een kleine model:
8
7 5
5 7 8
3 9 4 2
8+5+8+2=23
8+5+8+4=25
8+5+7+4=24
8+5+7+9=29
8+7+7+4=26
8+7+7+9=31
8+7+5+9=29
8+7+5+3=23
gemiddelde = 31
maar het leek me handiger en sneller als ik een formule ervoor had en dat in een keer eruit kan voeren, omdat je script best wel lang laadtijd nodig heeft
in een kleine model:
8
7 5
5 7 8
3 9 4 2
8+5+8+2=23
8+5+8+4=25
8+5+7+4=24
8+5+7+9=29
8+7+7+4=26
8+7+7+9=31
8+7+5+9=29
8+7+5+3=23
gemiddelde = 31
maar het leek me handiger en sneller als ik een formule ervoor had en dat in een keer eruit kan voeren, omdat je script best wel lang laadtijd nodig heeft
Die gemiddelde, hoe kom jij daar aan?
ow xD
op hun site stond wat anders
het moest de hoogste som waarde zijn
dus uit alles wat je gerekend hebt moet je de hoogste waarde hebben
8+5+8+2=23
8+7+5+3=23
8+5+7+4=24
8+5+8+4=25
8+7+7+4=26
8+5+7+9=29
8+7+5+9=29
8+7+7+9=31
ik heb het op volgorde gezet en je ziet dat 31 de hoogste waarde heeft.
op hun site stond wat anders
het moest de hoogste som waarde zijn
dus uit alles wat je gerekend hebt moet je de hoogste waarde hebben
8+5+8+2=23
8+7+5+3=23
8+5+7+4=24
8+5+8+4=25
8+7+7+4=26
8+5+7+9=29
8+7+5+9=29
8+7+7+9=31
ik heb het op volgorde gezet en je ziet dat 31 de hoogste waarde heeft.




