Thursday, April 17, 2008

Classis Factorial problem & Solution..

One of the classic examples of using recursion is calculating a factorial of a number. Here's a typical implementation of this function:

Using Recursion:

int factorial (int num)
{
if (num==1)
return 1;
return factorial(num-1)*num; // recursive call
}
factorial() calls itself recursively, subtracting 1 from num on each call, until it equals 1.

Using Simple Looping Method:
As always, you can use iteration instead of recursion:
int factorial (int num)
{
int result=1;
for (int i=1; i<=num; ++i)
result=result*=i;
return result;
}

No comments: