Recursive Function:
- A function that calls itself is called as recursive function.
- A recursive function must definitely have a condition that exists from calling the function again.
- Hence there must be a condition that calls the function itself if that condition is true.
- If the condition is false then it will exit from the loop of calling itself again.
Algorithm:
Main () Function:
- Start.
- Enter values of n and r to be printed”.
- Input n and r.
- Using formula of nCr = fact(n)/fact(n-r);
- C = CALL (k*fact(k-1));
- Print nCr.
- Stop.
Exponential (parameters: x, y)
- Start.
- If k=1, then return 1.
- Else return(kCALL (kfact(k-1)))
- Stop.
Program:
#include <stdio.h>
#include <conio.h>
int main(){
int n, r, C;
int fact(int k);
printf("Enter the number n and r:");
scanf("%d%d", &n, &r);
C = fact(n)/fact(n-r);
printf("nCr=%d\n", C);
getch();
}
int fact(int k) {
if(k==1)
return 1;
else
return (k*fact(k-1));
}
Output:
Enter the number n and r = 5 3
$nC_r$ = 60
Explanation:
- In this program, to get value of nCr, we just divide fact(n) with fact(n-r).
- This is done by the recursive function “fact”.
- It checks the value of the index, if it is equal to 1, then it returns just the value 1.
- Else it passes the value of nCr by calling itself i.e. recursive function.