Quantcast
Viewing latest article 3
Browse Latest Browse All 9

C language: Program for finding factorials with recursion and with loops

This is another program which is very basic and the code is for the same program, in one block only loops are used to find the factorial in C language and in the other program recursion is used with loops to get the same result. So now why is there a  recursion one if we can do the same thing without it.

Its because recursion helps us in making the code more maintainable and readable also recursion provides us with a more natural way of writing the same program and if required the function can also be used in other programs and will increase re-usability too.

So here’s the code for finding factorial with loops :

#include <stdio.h>

int main()
{
 int c, n, fact = 1;

 printf("Enter a number to calculate it's factorial\n");
 scanf("%d", &n);

 for (c = 1; c <= n; c++)
 fact = fact * c;

 printf("Factorial of %d = %d\n", n, fact);

 return 0;
}

and here’s the code for the same program using recursion technique:

#include<stdio.h>

long factorial(int);

int main()
{
 int n;
 long f;

 printf("Enter an integer to find factorial\n");
 scanf("%d", &n);

 if (n < 0)
 printf("Negative integers are not allowed.\n");
 else
 {
 f = factorial(n);
 printf("%d! = %ld\n", n, f);
 }

 return 0;
}

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


Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.

Viewing latest article 3
Browse Latest Browse All 9

Trending Articles