Skip to main content

Recursion In C Program

Recursion In C Program

In this tutorial, We will learn about recursion in C programming language.

Introduction

The process in which a function calls itself directly or indirectly is called recursion and the corresponding function is called as a recursive function.

  • Base Condition: In Recursion: in a recursive program base case provide the solution to the smallest problem
  • Expression: In a recursive program we write an expression for the bigger problem in term of smaller problems
Example: Calculate the Factorial of n.
Factorial(n) = (n) x (n-1) x ... x 1
  • Base Condition: the factorial of smallest number i.e 1 is 1 hence base condition is if n equal to 1 factorial will be 1
  • Expression:  Suppose we want to calculate factorial of n and we already know the factorial of n-1 we can calculate factorial of n by multiplying n to the factorial of n -1. for  example if we want to calculate factorial of 5 and we already know factorial of 4 we can calculate factorial of 5 by multiplying 5 into factorial of 4 i.e factorial(5) =  5 x factorial(4) = 5 x 24 = 120 hence here expression will be factorial(n) = n x factorial(n-1)
 #include<stdio.h>  
 int factorial(int n) {  
      // base condition  
      if (n==1) {   
           return 1;        
      }   
      // expression  
      return n*factorial(n-1);  
 }  
 int main() {  
      int n;  
      printf("Enter an integer: ");  
      scanf("%d", &n);  
      printf("Factorial of %d is %d\n", n, factorial(n));  
      return 0;  
 }  

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Comments

Popular posts from this blog

Time, Speed and Distance

Time, Speed And Distance  In this post, We will learn about time, speed and distance. Important Formula Distance = Time x Speed Time = Distance/Speed Speed = Distance/time Important Units Distance: meter (m), kilometre (km) Time: Hour (h), second (s) speed: meter/second (m/s), kilometre/hour  (km/h) Important Conversion 1 km = 1000 meter 1 h = 3600 s 1 km/h = (5/18) m/s 1 m/s = (18/5) km/h Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 

Joint Entrance Exam (JEE): Probability Syllabus

JEE: Probability Syllabus Probability  is a very interesting and different topic of mathematics which doesn't require your previous knowledge of any other chapters other than permutation and combination.  Following topics are the part of Jee syllabus Addition and multiplication rules of probability Addition and multiplication rules of probability Conditional Probability Bayes Theorem Independence of events Computation of probability of events using permutations and combinations Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Haryana Public Service Commission: HPSC 2018

Haryana Public Service Commission: HPSC 2018 Company Name         :  Haryana Public Service Commission: HPSC 2018 Recruitment Post Name                       :   Civil Judge State                            :  Haryana Salary                           :  Rs   27,700-44,770 Number of Vacancy   :  107 Eligibility                     :  Bachelor's Degree in Law Last Date to Apply     :  30-09-2018 Application Details    :  Notification Apply Online              :  Apply Here Government Jobs In  Haryana Please write comments if you f...

Securities and Exchange Board of India Recruitment 2018

Securities and Exchange Board of India  Company Name SEBI Post Name Assistant Manager State India Salary RS 28150-55600 Number of Vacancy 120 Eligibility Graduation Last Date 07-10-2018 Application Details Job Notification Apply Online Job Application Securities and Exchange Board of India (SEBI) Recruitment 2018    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.