|Re: Bug in HP 20b: nCr with non-integer r|
Message #7 Posted by Chuck on 31 Mar 2009, 4:43 p.m.,
in response to message #1 by Thomas Klemm
My guess is that the factorial function actually utilizes the gamma function, and nCr has an algorithm that does not utilize gamma.
<Michael got there first>
While working on this, I decided to try it out on the HP-42S. Of course the nCr button with non-integers doesn't work. The factorial function also doesn't work because there is a built in gamma function. Here's a little program I wrote for the HP-42S to do it...
01 LBL "NCR"
02 STO 01
04 STO 02
09 RCL+ 01
11 / "divide"
12 RCL 02
13 RCL- 01
Put two numbers on the stack and execute NCR
It's most likely not the shortest such program, but works like a charm on your non-integer problem. But, now the REALLY STRANGE PART....
...in doing a problem like 5 nCr 5 or 5 nCr 0 on the 42S I get for an output
Out of Range
However, stepping through the program to trouble shoot it, there is no "Out of Range" warning. And, executing the SAME program using Free42 on my ipod I get no "Out of Range Error". Can someone explain that to me?
Edited: 31 Mar 2009, 4:46 p.m.