<?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;
  $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
      if ($teiler == 2)		// den nächsten Teiler versuchen
        $teiler = 3;
      else
        $teiler += 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();
?>