Mega Code Archive

 
Categories / C++ Tutorial / Function
 

Recursive factorial function

#include <iostream> using std::cout; using std::endl; #include <iomanip> using std::setw; unsigned long factorial( unsigned long ); // function prototype int main() {    for ( int counter = 0; counter <= 50; counter++ )       cout << setw( 2 ) << counter << "! = " << factorial( counter ) << endl;    return 0; } unsigned long factorial( unsigned long number ) {    if ( number <= 1 )       return 1;    else       return number * factorial( number - 1 ); } 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 11! = 39916800 12! = 479001600 13! = 1932053504 14! = 1278945280 15! = 2004310016 16! = 2004189184 17! = 4006445056 18! = 3396534272 19! = 109641728 20! = 2192834560 21! = 3099852800 22! = 3772252160 23! = 862453760 24! = 3519021056 25! = 2076180480 26! = 2441084928 27! = 1484783616 28! = 2919235584 29! = 3053453312 30! = 1409286144 31! = 738197504 32! = 2147483648 33! = 2147483648 34! = 0 35! = 0 36! = 0 37! = 0 38! = 0 39! = 0 40! = 0 41! = 0 42! = 0 43! = 0 44! = 0 45! = 0 46! = 0 47! = 0 48! = 0 49! = 0 50! = 0