Une méthode récursive est une méthode qui s'invoque elle-même pour produire son résultat. Le langage C# permet, bien entendu, de définir ce type de méthode.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
using System; namespace Factorielle { class Program { // Implémentation récursive de la fonction factorielle static long FactRect(long value) { if (value == 0) return 1; return value * FactRect(value - 1); } // Implémentation itérative de la fonction factorielle static long Fact(long value) { long accumulator = 1; while( value > 1 ) { accumulator *= value--; } return accumulator; } // Point d'entrée du programme static void Main(string[] args) Console.WriteLine("0! == " + FactRect(0)); Console.WriteLine("1! == " + FactRect(0)); Console.WriteLine("5! == " + FactRect(0)); Console.WriteLine("6! == " + FactRect(0)); Console.WriteLine("0! == " + Fact(0)); Console.WriteLine("1! == " + Fact(0)); Console.WriteLine("5! == " + Fact(0)); Console.WriteLine("6! == " + Fact(0)); } } } |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :