C Program - to find the factorial of a number by both the recursive method and Iterative Method
C Programming Language Recursion in c (Article) Recursion in c (Program)
16813Program:
#include long int fact(int n); long int Ifact(int n); main( ) { int num; printf("Enter a number : "); scanf("%d", &num); if(num<0) printf("No factorial for negative number\n"); else printf("Factorial of %d is %ld\n", num, fact(num) ); if(num<0) printf("No factorial for negative number\n"); else printf("Factorial of %d is %ld\n", num, Ifact(num) ); }/*End of main()*/ /*Recursive*/ long int fact(int n) { if(n == 0) return(1); return(n * fact(n-1)); }/*End of fact()*/ /*Iterative*/ long int Ifact(int n) { long fact=1; while(n>0) { fact = fact*n; n--; } return fact; }/*End of ifact()*/
Output:
Enter a number : 5 Factorial of 5 is 120 Factorial of 5 is 120 Press any key to continue . . .
Explanation:
Recursive Method
/*Recursive*/ long int fact(int n) { if(n == 0) return(1); return(n * fact(n-1)); }/*End of fact()*/
Iterative Method
/*Iterative*/ long int Ifact(int n) { long fact=1; while(n>0) { fact = fact*n; n--; } return fact; }/*End of ifact()*/
This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.