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
1800817

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.