[math php] probleempje ...

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Ok ik wil het volgende probleem oplossen.

Gegeven is een nummer (NR) bijv 1033

Nu wil ik y0,y1,y2,y3,y4,y5 bepalen uit de volgende functie:

NR= y0+5*y1+25*y2+125*y3+625*y4+3125*y5

Met yi <= 5 met i = 0..5

Ik had het volgende bedacht:

PHP:
1
2
3
4
5
6
7
8
$i = 5;
$rest[$i+1] = 1033;
echo $rest[$i+1]."<br>";
for ($i<=5;$i>=0;$i--) {
    $y[$i] = (int) ($rest[$i+1]/pow(5,$i));
    $rest[$i] = (int) ($y[$i]%pow(5,$i));
    echo $y[$i]." ".$i."<br>";
}

Hij geeft bij mij als resultaat:

1033
0 5
0 4
0 3
0 2
0 1
0 0

Ik moet die div iets anders doen, maar hoe.. als ik dat (int) weglaat, dan klopt het nog niet.. ??

Wie kan mij helpen!

.modbreak: PHP TAGS!

[ Voor 13% gewijzigd door .oisyn op 23-01-2004 15:39 ]


Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Ik heb hem al, dit moest het zijn:

$i = 5;
$rest[$i+1] = 1033;
echo $rest[$i+1]."<br>";
for ($i<=5;$i>=0;$i--) {
$y[$i] = (int) ($rest[$i+1]/pow(5,$i));
$rest[$i] = (int) ($rest[$i+1]%pow(5,$i));
echo "y".$i." = ".$y[$i]."<br>";
}

Acties:
  • 0 Henk 'm!

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 07-07 16:30

Akerboom

Codito, ergo sum

Eerste expressie van je for() lus heeft totaal geen nut...
Kijk maar eens naar http://nl.php.net/for

Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Maar het kan ook geen kwaad.. of wel?

Acties:
  • 0 Henk 'm!

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 07-07 16:30

Akerboom

Codito, ergo sum

Het heeft nu geen nut, ik zou het weglaten:
PHP:
1
for (;$i>=0;$i--) {/* code */ }


of while lus gebruiken:
PHP:
1
while ($i>=0) { /* code */ $i-- }


Eerste expressie in een for() lus is meestal ook een toekenning, een evaluatie heeft geen zin.