PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Zuordnungsvorschrift ausgeben


Gast
2010-08-26, 01:39:16
Hallo,

es ist mir fast schon peinlich, aber ich stehe gerade riesig auf dem Schlauch.

Ich habe eine Zuordnungsvorschrift

2 -> 1
4 -> 2
8 -> 3
16 -> 4
32 -> 5
64 -> 6

usw..

Also meinem Verständnis nach wäre dann f(n) = log 2(Basis) n

Kann mir wer sagen, wie ich in PHP eine Schleife erstelle, die mir die Zuordnungen bis zur Zahl x ausgibt? Mein lächerlicher Versuch wäre


<?php
$x = 32;

$i = 2;
$k = 1;

while($i <= $x)
{
echo $i." -> ".log($i,2). "<br>";
$i+=pow(2,$k);
$k++;
}

?>


Da ist aber bereits x = 128 zuviel des guten für PHP.

Danke

Gast
2010-08-26, 10:38:05
Wie wärs mit:


$x = 128

$i = 1;
$k = 0;

$while( $i <= $x) {
echo $i . "=>" . $k . "<br>";
$i *= 2;
$k++;
}



Ungetestet, könte ein Denkfeher drin sein. Symtax sowieso.

Gast
2010-08-26, 13:56:05
Vielen Dank, funktioniert und ist natürlich viel simpler.
Allerdings habe ich vergessen zu erwähnen, dass ich bei jedem Durchlauf eine neue, isolierte Berechnung durchführen möchte, da später auch mal ohne Schleife direkt ein Ergebnis zur Zahl X ausgespuckt werden soll, ohne erst bis zu X iterieren zu müssen.

Kurz gesagt funktioniert das von oben mit dem log() doch, ich habe nur ständig in dem Miniserver von VS.PHP getestet, und der scheint wohl arg limitiert zu sein was Zahlen angeht. Auf meinem Webspace gehts.