В C# допускается, чтобы метод вызывал самого себя. Этот процесс называется
Классическим примером рекурсии служит вычисление факториала числа. Факториал числа
// Простой пример рекурсии.
using System;
class Factorial {
// Это рекурсивный метод, public int FactR(int n) { int result;
if(n==l) return 1; result = FactR(n-l) * n; return result;
}
// Это итерационный метод, public int FactI(int n) { int t, result;
result = 1;
for(t=l; t <= n; t++) result *= t; return result;
class Recursion {
static void Main { Factorial f = new
Factorial ;
Console.WriteLine("Факториалы, рассчитанные рекурсивным методом. Console.WriteLine("Факториал числа 3 равен " + f.FactR(3));
Факториал числа 4 равен " + f.FactR(4));
Console.WriteLine( Console.WriteLine(
Факториал числа 5 равен " + f.FactR(5));
Console.WriteLine ;
Console.WriteLine("Факториалы, рассчитанные итерационным методом Console.WriteLine("Факториал числа 3 равен " + f.FactR(3));
• Console.WriteLine("Факториал числа 4 равен " + f.FactR(4));
Console.WriteLine("Факториал числа 5 равен " + f.FactR(5));
При выполнении этой программы получается следующий результат.
Факториалы, рассчитанные рекурсивным методом.
Факториал числа 3 равен 6 Факториал числа 4 равен 24 Факториал числа 5 равен 120
Факториалы, рассчитанные итерационным методом.
Принцип действия нерекурсивного методаFactI вполне очевиден. В нем используется цикл, в котором числа, начиная с 1, последовательно умножаются друг на друга, постепенно образуя произведение, дающее факториал.