De faculteit van een getal \(n\), genoteerd als \(n!\), is het product van alle positieve gehele getallen van \(1\) tot en met \(n\). Bijvoorbeeld:
\[\text{faculteit}(5) = 5 \times 4 \times 3 \times 2 \times 1 = 120\]Een faculteit laat zich heel natuurlijk recursief beschrijven. Merk maar op dat \(5! = 5 \times 4!\), en \(4! = 4 \times 3!\), enzovoort:
\[\text{faculteit}(n) = n \times \text{faculteit}(n - 1)\]Bereken de faculteit van een ingegeven getal \(n\) met een recursieve functie. Bedenk eerst het basisgeval en het recursieve geval:
Toon het resultaat zo:
De faculteit van n is x
waarbij je n vervangt door het ingegeven getal en x door de berekende
faculteit. Het resultaat kan snel groot worden (\(15!\) telt al dertien cijfers),
te groot voor een gewone int. Bewaar het resultaat daarom in een variabele van
het type long.
De faculteit is enkel gedefinieerd voor getallen die niet negatief zijn. Geeft de gebruiker een negatief getal in, toon dan deze foutmelding (en reken verder niet):
Faculteit is niet gedefinieerd voor negatieve getallen
Invoer:
5
Uitvoer:
De faculteit van 5 is 120
Invoer:
0
Uitvoer:
De faculteit van 0 is 1
Invoer:
-3
Uitvoer:
Faculteit is niet gedefinieerd voor negatieve getallen