Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Computing factorial of an integer with recursion and iteration [EDIT]
//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x86 #include <iostream> long long rec_factorial(int num) { if (num == 0 || num == 1) { return 1; } else if (num < 0) { num = abs(num); // could still be written as num *=-1; return -1*(num*rec_factorial(num - 1)); } else { return num*rec_factorial(num - 1); } } // factorial without using recursion long long iter_factorial(int num) { long long fac{ 1}; if (num == 0 || num == 1) { return 1; } else if (num < 0) { num = abs(num); for (int i = 1; i <= num; i++) { fac *= i; } return -1*fac; } else { for (num; num >= 1; --num) { // fac *= num; } return fac; } } int main() { int num1{5}; int num2{-5}; std::cout << num1<< "! (using recursion) = " << rec_factorial(num1) << std::endl; std::cout << num1<< "! (using iteration) = " << iter_factorial(num1) << std::endl; std::cout << num2<< "! (using recursion) = " << rec_factorial(num2) << std::endl; std::cout << num2<< "! (using iteration) = " << iter_factorial(num2) << std::endl; return 0; }
run
|
edit
|
history
|
help
0
hangman
CIS-2207 Week1 Assignment1 Company Devisions
error_code example
Static cast of Enum
MSVC14 <exception> header
#7.2
Wide string conversion with multibyte chars and locale
ADL of operator expression & unqualified function call
Why is vsnprintf Not Writing the Same Number of Characters as strncpy Would?
make Derive final