ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Range of Factorial Function (https://www.excelbanter.com/excel-discussion-misc-queries/45742-range-factorial-function.html)

Rushi

Range of Factorial Function
 
Hi,

For some analysis I am doing, I tried the following LOG(FACT(229)), and it
returned NUM!. I am wondering if 229 is too big a number to compute a
Factorial of ? If so, is there an upper limit (something like FACT function
can be applied for numbers <= 150) for the FACT function ?

Thanks in anticipation,

Rushi Patel

Ian

A little experimantation reveals that FACT(170) is the largest possible,
returning a value of 7.2574E+306.


--
Ian
--
"Rushi" wrote in message
...
Hi,

For some analysis I am doing, I tried the following LOG(FACT(229)), and it
returned NUM!. I am wondering if 229 is too big a number to compute a
Factorial of ? If so, is there an upper limit (something like FACT
function
can be applied for numbers <= 150) for the FACT function ?

Thanks in anticipation,

Rushi Patel




Dana DeLouis

Hi. 229! has 443 digits in it, so it's too big for both the worksheet and
vba. (27! being the max in Vba)
Here's just one workaround:

Function LogFactorial(n) As Double
Dim ans As Double
Dim j As Long
For j = 1 To n
ans = ans + Log(j)
Next j
LogFactorial = ans
End Function

Test:
? LogFactorial(229)
1018.95850224969

Which checks with another program:

Log[229!]
1018.9585022496902

HTH ;)
--
Dana DeLouis
Win XP & Office 2003


"Rushi" wrote in message
...
Hi,

For some analysis I am doing, I tried the following LOG(FACT(229)), and it
returned NUM!. I am wondering if 229 is too big a number to compute a
Factorial of ? If so, is there an upper limit (something like FACT
function
can be applied for numbers <= 150) for the FACT function ?

Thanks in anticipation,

Rushi Patel




TomHinkle

Ian's experimentation is consistant with the range of a double precision
floating point numer (what excel uses for calculating values)

lol.. sounds like you need a cray!!

Double Data Type


Double (double-precision floating-point) variables are stored as IEEE 64-bit
(8-byte) floating-point numbers ranging in value from -1.79769313486231E308
to -4.94065645841247E-324 for negative values and from 4.94065645841247E-324
to 1.79769313486232E308 for positive values. The type-declaration character
for Double is the number sign (#).


"Ian" wrote:

A little experimantation reveals that FACT(170) is the largest possible,
returning a value of 7.2574E+306.


--
Ian
--
"Rushi" wrote in message
...
Hi,

For some analysis I am doing, I tried the following LOG(FACT(229)), and it
returned NUM!. I am wondering if 229 is too big a number to compute a
Factorial of ? If so, is there an upper limit (something like FACT
function
can be applied for numbers <= 150) for the FACT function ?

Thanks in anticipation,

Rushi Patel





Dana DeLouis

Oops. Didn't even think of this:

=GAMMALN(229+1)

1018.95850224964

HTH :)
--
Dana DeLouis
Win XP & Office 2003


"Dana DeLouis" wrote in message
...
Hi. 229! has 443 digits in it, so it's too big for both the worksheet and
vba. (27! being the max in Vba)
Here's just one workaround:

Function LogFactorial(n) As Double
Dim ans As Double
Dim j As Long
For j = 1 To n
ans = ans + Log(j)
Next j
LogFactorial = ans
End Function

Test:
? LogFactorial(229)
1018.95850224969

Which checks with another program:

Log[229!]
1018.9585022496902

HTH ;)
--
Dana DeLouis
Win XP & Office 2003


"Rushi" wrote in message
...
Hi,

For some analysis I am doing, I tried the following LOG(FACT(229)), and
it
returned NUM!. I am wondering if 229 is too big a number to compute a
Factorial of ? If so, is there an upper limit (something like FACT
function
can be applied for numbers <= 150) for the FACT function ?

Thanks in anticipation,

Rushi Patel






Bernie Deitrick

Since he wanted LOG not LN,

=GAMMALN(229+1)/LN(10)

Bernie

Oops. Didn't even think of this:


I'm impressed....



Jay

For some analysis I am doing, I tried the following LOG(FACT(229)),
and it returned NUM!. I am wondering if 229 is too big a number to
compute a Factorial of ? If so, is there an upper limit (something
like FACT function can be applied for numbers <= 150) for the FACT
function ?



Recall that LOG(A*B) = LOG(A) + LOG(B)

So LOG(FACT(229)) = LOG(1)+LOG(2)+...+LOG(229)

In A1:A229, put
=LOG(ROW())

Then in B2 put
=SUM(A:A)

Dana DeLouis

A 1-Cell entry along this same theme might be something like this:

=SUMPRODUCT(LOG(ROW(INDIRECT("1:229"))))

--
Dana DeLouis
Win XP & Office 2003


"Jay" wrote in message
8.16...
For some analysis I am doing, I tried the following LOG(FACT(229)),
and it returned NUM!. I am wondering if 229 is too big a number to
compute a Factorial of ? If so, is there an upper limit (something
like FACT function can be applied for numbers <= 150) for the FACT
function ?



Recall that LOG(A*B) = LOG(A) + LOG(B)

So LOG(FACT(229)) = LOG(1)+LOG(2)+...+LOG(229)

In A1:A229, put
=LOG(ROW())

Then in B2 put
=SUM(A:A)





All times are GMT +1. The time now is 05:54 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com