Vind de kortste route...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

Robert Deiman

Robert Deiman

21/01/2009 23:46:00
Quote Anchor link
@Peter

Zie mijn vorige bericht... Ik probeer nu ff snel wat te maken..
 
PHP hulp

PHP hulp

26/05/2026 15:14:50
 
Kumkwat Trender

Kumkwat Trender

21/01/2009 23:55:00
Quote Anchor link
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.
 
Robert Deiman

Robert Deiman

22/01/2009 00:00:00
Quote Anchor link
@Peter

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

//bouw de array op
$pyramide = array(
                    1 => array(8),
                    array(7,5),
                    array(5,7,8),
                    array(3,9,4,2)
                );


foreach($pyramide as $rowkey => $row){
    foreach($row as $waardekey => $waarde){
        echo $rowkey .'=>'.$waardekey.'=>' .$waarde.'<br />';
        }    
    }


?>


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..
 
- SanThe -

- SanThe -

22/01/2009 00:28:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);

?>


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
 
Kumkwat Trender

Kumkwat Trender

22/01/2009 00:37:00
Quote Anchor link
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
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
- SanThe -

- SanThe -

22/01/2009 00:41:00
Quote Anchor link
'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

Tja, de helft vergeten misschien?

Quote:
van boven naar beneden alle mogelijkheden gebruiken.


Je vroeg om álle mogelijkheden.
 
Kumkwat Trender

Kumkwat Trender

22/01/2009 00:43:00
Quote Anchor link
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
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
- SanThe -

- SanThe -

22/01/2009 00:47:00
Quote Anchor link
'Peter:
Niet bumpen LOL, je hebt de edit knop ervoor ;)
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 -
 
Kumkwat Trender

Kumkwat Trender

22/01/2009 00:50:00
Quote Anchor link
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.
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
- SanThe -

- SanThe -

22/01/2009 00:54:00
Quote Anchor link
Moet ik weer opnieuw na gaan denken. ;-)
Ik ben er wel aardig duf van geworden.
Maar ik zal eens kijken of dat ook lukt.
 
Kumkwat Trender

Kumkwat Trender

22/01/2009 00:55:00
Quote Anchor link
sorry :P
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
 
- SanThe -

- SanThe -

22/01/2009 01:05:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);

?>


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
 
Kumkwat Trender

Kumkwat Trender

24/01/2009 20:37:00
Quote Anchor link
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?
 
- SanThe -

- SanThe -

24/01/2009 20:43:00
Quote Anchor link
'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 -
 
GaMer B

GaMer B

24/01/2009 20:44:00
Quote Anchor link
'SanThe:
'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.
 
Kumkwat Trender

Kumkwat Trender

24/01/2009 20:47:00
Quote Anchor link
Ik weet niet of dit zichtbaar is als je niet ingelogd bent
maar de Link naar dat file
 
- SanThe -

- SanThe -

24/01/2009 20:54:00
Quote Anchor link
Geinig. En wat moet je daar dan van hebben?
 
Kumkwat Trender

Kumkwat Trender

24/01/2009 20:57:00
Quote Anchor link
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
 
- SanThe -

- SanThe -

24/01/2009 21:13:00
Quote Anchor link
Die gemiddelde, hoe kom jij daar aan?
 
Kumkwat Trender

Kumkwat Trender

24/01/2009 21:24:00
Quote Anchor link
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.
 

Pagina: « vorige 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.