For example 5!= 5*4*3*2*1=120.
In C++, factorial function can be implemented in an iterative or recursive way.
For big numbers, return value of factorial functions are declared as unsigned long long.
#include <iostream> using namespace std; unsigned long long iterativeFactorial( const unsigned int& value ) { unsigned long long result=1; unsigned long long i=1; while(i<=value) { result *= i++; } return result; } unsigned long long recursiveFactorial( const unsigned int& value ) { if( value == 1 || value == 0 ) return 1; return value*recursiveFactorial(value-1); } int main() { const unsigned long value = 20; unsigned long long iterativeFactorialResult = iterativeFactorial( value ); cout << "Iterative Factorial Result : "<< iterativeFactorialResult << endl; unsigned long long recursiveFactorialResult = recursiveFactorial( value ); cout << "Recursive Factorial Result : "<< recursiveFactorialResult << endl; return 0; }Both factorial functions in C++ source code were tested with the same value = 20 and the following result is achieved.
No comments:
Post a Comment