0% found this document useful (0 votes)
6 views3 pages

Understanding C Recursion Techniques

Recursion is a programming technique where a function calls itself to solve complex problems by breaking them down into simpler ones. The document provides examples of recursion, including calculating the sum of numbers from 1 to 10, calculating the factorial of a number, and counting down from 5. Each example illustrates how recursion simplifies the problem-solving process through self-referential function calls.

Uploaded by

Amruta Sarudkar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views3 pages

Understanding C Recursion Techniques

Recursion is a programming technique where a function calls itself to solve complex problems by breaking them down into simpler ones. The document provides examples of recursion, including calculating the sum of numbers from 1 to 10, calculating the factorial of a number, and counting down from 5. Each example illustrates how recursion simplifies the problem-solving process through self-referential function calls.

Uploaded by

Amruta Sarudkar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

C Recursion

Introduction :
Recursion is the technique of making a function call itself. This technique provides a way to
break complicated problems down into simple problems which are easier to solve.
Recursion may be a bit difficult to understand. The best way to figure out how it works is to
experiment with it.

Definition of Recursion :
Factorial means multiplying a number by every number below it, down to 1. For example,
the factorial of 5 is: 5 * 4 * 3 * 2 * 1 = 120.

Recursion Example 1:
Adding two numbers together is easy to do, but adding a range of numbers is more
complicated. In the following example, recursion is used to add a range of numbers together
by breaking it down into the simple task of adding two numbers:

Use recursion to add all numbers from 1 to 10:


int sum(int k); //function declaration global section

int main() {
int result = sum(10); // function calling
printf("%d", result);
return 0;
}
int sum(int k) { // function definition
if (k > 0) {
return k + sum(k - 1); // recursive function
} else {
return 0; }
}
Out Put : addition of 1 to 10 numbers by using recursive function = 55
Explanation :
When the sum() function is called, it adds parameter k to the sum of all numbers smaller
than k and returns the result. When k becomes 0, the function just returns 0. When
running, the program follows these steps:
10 + sum(9)
10 + ( 9 + sum(8) )
10 + ( 9 + ( 8 + sum(7) ) )
...
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + sum(0)
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0
Since the function does not call itself when k is 0, the program stops there and returns the
result.

Example 2 : Calculate Factorial with Recursion


a recursive function to calculate the factorial of 5:
int factorial(int n);

int main() {
printf("Factorial of 5 is %d", factorial(5));
return 0;
}
int factorial(int n) {
if (n > 1) {
return n * factorial(n - 1);
} else {
return 1;
}
}
Example 3 : Use recursion to count down from 5:
void countdown(int n);

int main() {
countdown(5);
return 0;
}

void countdown(int n) {
if (n > 0) {
printf("%d ", n);
countdown(n - 1);
}
}
Output: 5 4 3 2 1
The function calls itself with n - 1 until n becomes 0.

You might also like