If a statement within
the body of a function calls the same function, the function is called
recursive function. Actually, recursion is a process by which a function calls
itself repeatedly until some specified condition has been satisfied. This
process is used for repetitive computations in which each action is stated in
term of previous result. Many iterative or repetitive problems can be written
in this form.
To solve a problem using
recursive method, two conditions must be satisfied. They are:
1)
Problem could be written or defined in term of its
previous result.
2)
Problem statement must include a stopping condition.
/* An example of recursive function to
calculate factorial of a number.*/
#include<stdio.h>
#include<conio.h>
long int factorial(int n)
{
if(n==1)
return(1);
else
return
(n*factorial(n-1));
}
void main()
{
int num;
printf(“Enter a
number:”);
scanf(“%d”,&num);
printf(“The
factorial is %ld”, factorial(num));
getch();
}
Difference
between Recursion & Iteration:
Recursion
1. A function is called from the definition of the
same function to do repeated task.
2. Recursive is a top-down approach to problem
solving; it divides the problem into pieces.
3. In recursion, a function calls to itself until
some condition will be satisfied.
4. Problem could be defined in terms of its previous
result to solve a problem using recursion.
5. All problems cannot be solved using recursion.
Iteration
1. Loop is used to
do repeated task.
2. Iteration is like bottom-up approach, it begins
with what is known and from this it contacts the solution step by step.
3. In iteration, a function doesn’t call to itself.
4. It is not necessary to define a problem in term of
its previous result to solve using iteration.
5. All problems can be solved using iteration.
Comments
Post a Comment