Recursion is the process of repeating items in a self-similar way. In programming languages, if a program allows you to call a function inside the same function, then it is called a recursive call of the function.
The C programming language supports recursion, i.e., a function to call itself. But while using recursion, programmers need to be careful to define an exit condition from the function, otherwise it will go into an infinite loop.
Recursive functions are very useful to solve many mathematical problems, such as calculating the factorial of a number, generating Fibonacci series, etc.
Problem : :
The following C program using recursion finds the HCF of two entered integers. The HCF stands for Highest Common Factor.
Below is the source code for C Program to find HCF of Number using Recursion which is successfully compiled and run on Windows System to produce desired output as shown below :
SOURCE CODE : :
/* C Program to find HCF of Number using Recursion */
#include <stdio.h>
int hcf(int, int);
int main()
{
int a, b, result;
printf("Enter the two numbers to find their HCF: ");
scanf("%d%d", &a, &b);
result = hcf(a, b);
printf("The HCF of %d and %d is %d.\n", a, b, result);
}
int hcf(int a, int b)
{
while (a != b)
{
if (a > b)
{
return hcf(a - b, b);
}
else
{
return hcf(a, b - a);
}
}
return a;
}
Output : :
***************** OUTPUT **********************
**************** FIRST RUN ********************
Enter the two numbers to find their HCF:
12
72
The HCF of 12 and 72 is 12.
**************** SECOND RUN ********************
Enter the two numbers to find their HCF:
35
65
The HCF of 35 and 65 is 5.
Recursion : :
Problem : :
The following C program using recursion finds the HCF of two entered integers. The HCF stands for Highest Common Factor.
Below is the source code for C Program to find HCF of Number using Recursion which is successfully compiled and run on Windows System to produce desired output as shown below :
SOURCE CODE : :
Output : :
need an explanation for this answer? contact us directly to get an explanation for this answer