<?php require '../app.inc.php'; require '../appmenu.inc.php'; $app = new Application('Primfaktor-Zerlegung', $menu); $app->header(); $n = $_GET['n']; ?> <form action=""><p> <label for="n">Zu zerlegende Zahl grösser als 1:</label> <input type="text" id="n" name="n" maxlength="8" size="8" value="<?php echo $n ?>" /> <input type="submit" value="Zerlegen!" /> </p></form> <p> <?php $zahl = intval($n); if ($zahl > 1) { $teiler = 2; // Startwert für Teiler $ende = intval(sqrt($zahl)); // Endwert für Teiler echo $zahl; $inc = 1; $trenntext = " = "; while ($zahl > 1 && $teiler <= $ende) { // solange nicht fertig if ($zahl % $teiler == 0) { // wenns teilbar ist echo $trenntext, $teiler; // ausgeben $zahl /= $teiler; // und teilen $trenntext = " * "; } else { // sonst $teiler += $inc; // den nächsten Teiler versuchen $inc = 2; } } if ($zahl > 1) { // wenn noch ein Rest da if ($zahl == $n) echo " ist eine <strong>Primzahl</strong>!"; else echo $trenntext, $zahl; // den Rest ausgeben } } elseif ($n != "") // Falsche Eingabe echo "Ungültige Eingabe"; echo "</p>"; $app->footer(); ?>