Feedback

C# - Fakultät berechnen (rekursiv)

Veröffentlicht von am 04.08.2006
(1 Bewertungen)
Berechnet rekursiv die Fakultät einer Zahl.
GFU-Schulungen  [Anzeige]

ASP.NET Core Server- und Client-Programmierung

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

VB.NET 2017/2015/2013 Aufbau

Nach dieser Schulung können Sie mittels objektorientierter Modelle in VB.NET 2017/2015/2013 wiederverwendbare Elemente eigenständig erstellen.

public int Faculty( int n )
{
    return n == 0 ? 1 : n * Faculty( n-1 );
}
Abgelegt unter fakultät.

3 Kommentare zum Snippet

herbivore schrieb am 08.12.2006:
Endlosrekursion, wenn für n eine negative Zahl angegeben wird.
Günther Foidl schrieb am 24.09.2008:
Die iterative Variante ist besser. Zum einen schneller - weniger Overhead - und zum anderen sicherer gegen Stapelüberlauf.

private static int Fakultät(int zahl)
{
if (zahl < 0)
throw new ArgumentOutOfRangeException("Zahl darf nicht kleiner 0 sein");

int fakultät = 1;

if (zahl == 0 || zahl == 1)
fakultät = 1;
else
{
for (int i = 1; i <= zahl; i++)
fakultät *= i;
}

return fakultät;
}
Koopakiller schrieb am 22.10.2012:
Tausche das int im Methodenkopf gegen ein uint und den Rückgabewert gegen ein ulong aus. So hast du
1. kein Problem mehr mit negativen Zahlen
2. kannst größere Fakultäten verarbeiten

ich testete es mehrmals ob iterativ scheller als rekursiv ist, dem war erst so als ich mehrere tausend Berechnungen hintereinander durchführte, sonst war immer das rekursive vorne.
 

Logge dich ein, um hier zu kommentieren!

Ähnliche Snippets