PHP :: Aufgabe #28 :: Lösung #1

4 Lösungen Lösungen öffentlich
#28

Fakultät von n berechnen

Anfänger - PHP von Dome - 03.01.2013 um 01:39 Uhr
Schreiben Sie ein Programm, oder eine Funktion, die die Fakultät einer beliebigen Zahl berechnet ohne eine vorhandene Funktion aus der Programmbibliothek zu verwenden.

Konsolenausgabe:

Fakultät von n: 10
3628800
#1
vote_ok
von bibir (1870 Punkte) - 08.09.2014 um 15:36 Uhr
Rekursive Variante:
Quellcode ausblenden PHP-Code
<?php
function berechne($n){
	// fehlerfaelle abfangen
	$f_var = filter_var($_POST['n'], FILTER_VALIDATE_INT);
	if((!isset($_POST['n'])) || (!$f_var) || ($_POST['n'] < 1)){
		return 'Bitte positive Ganzzahl angeben.';
	} else {
		return fakultaet($n);
	}
}

function fakultaet($n){
	if($n <= 2){
		// abbruchkriterium
		return $n;
	} else {
		// rekursiver aufruf
		return $n * fakultaet($n-1);
	}
}
?>
<!DOCTYPE html>
<html>
	<head>
		<title>Fakultaet</title>
	</head>
	<body>
		<form action="./fakultaet.php" name="fak" method="POST">
		<table>
			<tr>
				<td>Fakultaet von n: </td>
				<td><input type="text" name="n" size="2" /></td>
			</tr>	
			<tr>
				<td colspan="2"><input type="submit" value="berechnen" /></td>
			</tr>
		</table>
		</form>
		<p>
			<?php
				echo berechne($_POST['n']);
			?>
		</p>
		
	</body>
</html>

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben