# C++ Tutorial With Basic Programs for Beginners

C++ tutorial, C++ programs, C++ Exercises, C++ Example Programs

## Wednesday, December 11, 2013

### Program Factorial by Loop and Recursion Versions

Program FACTORIAL by RECURSION METHOD
 Recursive Function Factorial of number in C++ programming recursion version

### What is Recursion

When a function in C++ calls itself, it is called Recursive Function and the process of calling a function itself is called Recursion.
A method of defining a function in terms of its own definition is called recursion.

### Advantages of using Recursion in C++

1. Recursion is a good problem solving technique in programming
2. It is based on the concept to solve a problem by reducing the problem to smaller sub-problems;
3. This results in recursive calls. In each successive recursive call the problem is reduced to more smaller sub-problem.
4. Recursive algorithms are simple to understand
5. Recursive algorithms are easy to implement

• Example: the Fcatorial of a non negatve number

#### Base case in Recursion

Recursion needs a base-case in order to stop

### Recursive case

Recursion needs a recursive case to call a function itself to reduce problem into sub-problems
• fact(n) = n x fact(n-1)       Recursive part / recursive case of recursion
• fact(0) =  1                Terminating condition part also called base case
• In programming recursion is a method call to the same method. In other words, a recursive method     is one that calls itself.
• Why write a method that calls itself?

• But! Recursive calls can result in a an infinite loop of calls
• recursion needs a base-case in order to stop    , example fact(0) = 1, if n=0 then factorial =1
as we know that factorial of 0 is 1.
A recursive function to find factorial of a number works by calling itself
Example: if n>0 the factorial(n) = n x factorial (n-1)
as we know n! = n x (n-1)!

/*
Write a C++ Program to input a positive number,
Calculate and display factorial of this number
by recursion.

Www.EasyCppProgramming.Blogspot.Com

and For Good Notes
Visit   Www.ComputerGap.com
*/
#include<iostream.h>

#include<conio.h>

long  factorial(int n);
void main()
{

clrscr();

int number, counter;

label1:

cout<<"\n Enter the Number = ";

cin>>number;

if ( number < 0)
{
cout<<"\n Enter a non negative number, please!";
goto label1;
}
cout<<"\n\n ----------- Results ------------";

cout<<"\n\n The Factorial of the number "<<number<<"\n is "<<factorial(number);

getch();

}

long factorial(int n)

{

if ( n == 0 )
return 1;
else
return n * factorial(n-1);
}

#### Factorial of a number in C++ for loop version for understanding Recursion Logic

/*
Write a C++ Program to input a positive number
Calculate and Display Factorial of this number
by For Loop.

Www.EasyCppProgramming.Blogspot.Com

and For Good Notes
Visit   Www.ForFreeEducation.Blogspot.Com
*/
#include<iostream.h>

#include<conio.h>

void main()
{

clrscr();

int number, counter;
long int factorial;

cout<<"\n Enter the Number = ";

cin>>number;

factorial = 1;
for (counter = 1; counter <= number; counter++)
factorial = factorial * counter;

cout<<"\n\n ----------- Results ------------";

cout<<"\n\n The Factorial of the number "<<number<<"\n is "<<factorial;

getch();

}

You can read the use of Writing, compiling, executing programs in C++ in Turbo C++ here

You can find calculate factorial of a number program with while loop here
You can find calculate factorial of a number program with do while loop here

You can find calculate factorial of a number program using Recursion ( Recursive Factorial Function )

Share: