A simple example of recursion : Class Method « Class Interface « C# / C Sharp






A simple example of recursion

A simple example of recursion
/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/


// A simple example of recursion.  
 
using System; 
 
class Factorial {  
  // This is a recursive function.  
  public int factR(int n) {  
    int result;  
  
    if(n==1) return 1;  
    result = factR(n-1) * n;  
    return result;  
  }  
  
  // This is an iterative equivalent.  
  public int factI(int n) {  
    int t, result;  
  
    result = 1;  
    for(t=1; t <= n; t++) result *= t;  
    return result;  
  }  
}  
  
public class Recursion {  
  public static void Main() {  
    Factorial f = new Factorial();  
  
    Console.WriteLine("Factorials using recursive method.");  
    Console.WriteLine("Factorial of 3 is " + f.factR(3));  
    Console.WriteLine("Factorial of 4 is " + f.factR(4));  
    Console.WriteLine("Factorial of 5 is " + f.factR(5));  
    Console.WriteLine();  
 
    Console.WriteLine("Factorials using iterative method.");  
    Console.WriteLine("Factorial of 3 is " + f.factI(3));  
    Console.WriteLine("Factorial of 4 is " + f.factI(4));  
    Console.WriteLine("Factorial of 5 is " + f.factI(5));  
  }  
}


           
       








Related examples in the same category

1.Method Attributes
2.Define methods that return a value and accept parametersDefine methods that return a value and accept parameters
3.Class a class methodClass a class method
4.Call class methods 2Call class methods 2
5.Method overloading testMethod overloading test
6.Add a method to BuildingAdd a method to Building
7.A simple example that uses a parameterA simple example that uses a parameter
8.Add a method that takes two argumentsAdd a method that takes two arguments
9.Use a class factoryUse a class factory
10.Return an arrayReturn an array
11.Demonstrate method overloadingDemonstrate method overloading
12.Automatic type conversions can affect overloaded method resolutionAutomatic type conversions can affect 
   overloaded method resolution
13.Overloading ClassesOverloading Classes
14.C# Classes Member FunctionsC# Classes Member Functions
15.change field value in a method