Function C++ Tutorial

#include 
using std::cout;
using std::endl;
#include 
using std::setw;
unsigned long factorial( unsigned long );
int main()
{
   for ( int counter = 0; counter <= 20; counter++ )
      cout << setw( 2 ) << counter << "! = " << factorial( counter ) << endl;
   return 0;
}
unsigned long factorial( unsigned long number )
{
   unsigned long result = 1;
   for ( unsigned long i = number; i >= 1; i-- )
      result *= i;
   return result;
}
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