6elemental real(8) function factn(n)
9integer,
intent(in) :: n
12real(8),
parameter :: f(24)=[ &
17 362880.d0, 3628800.d0, &
18 39916800.d0, 479001600.d0, &
19 6227020800.d0, 87178291200.d0, &
20 1307674368000.d0, 20922789888000.d0, &
21 355687428096000.d0, 6402373705728000.d0, &
22 121645100408832000.d0, 2432902008176640000.d0, &
23 51090942171709440000.d0, 1124000727777607680000.d0, &
24 25852016738884976640000.d0, 620448401733239439360000.d0]