diff --git a/Algorithms/factorial_finding(efficeint)/factorial of number with recursion.cpp b/Algorithms/factorial_finding(efficeint)/factorial of number with recursion.cpp new file mode 100644 index 000000000..96f408f0a --- /dev/null +++ b/Algorithms/factorial_finding(efficeint)/factorial of number with recursion.cpp @@ -0,0 +1,17 @@ +#include +#include +long int multiplyNumbers(int n); + int main() { + int n; + printf("Enter a positive integer: "); + scanf("%d",&n); + printf("Factorial of %d = %ld", n, multiplyNumbers(n)); + getch(); + return 0; +} + long int multiplyNumbers(int n) { + if (n>=1) + return n*multiplyNumbers(n-1); + else + return 1; + } \ No newline at end of file diff --git a/Algorithms/factorial_finding(efficeint)/factorial of number without recursion.cpp b/Algorithms/factorial_finding(efficeint)/factorial of number without recursion.cpp new file mode 100644 index 000000000..41123aba4 --- /dev/null +++ b/Algorithms/factorial_finding(efficeint)/factorial of number without recursion.cpp @@ -0,0 +1,17 @@ +#include +int main(){ + int n, i; + unsigned long fact = 1; + printf("Enter an integer: "); + scanf("%d", &n); + // error if the user enters a negative integer + if (n < 0) + printf("Error! Factorial of a negative number doesn't exist."); + else { + for (i = 1; i <= n; ++i) { + fact *= i; + } + printf("Factorial of %d = %lu", n, fact); + } + return 0; +} \ No newline at end of file