▼
Posts: 1,545
Threads: 168
Joined: Jul 2005
Always remembered 69 as the highest integer for which one could compute x! on machines with a two digit exponent.
However, I recently came across a calculator from 1976 that would compute the value for x > 69 up to a higher value.
Before I reveal that particular machine :) does anyone else know the "first" machine that could do this?
What early (meaning red LED displays) could give a usable / correct result for 70 ! ?
▼
Posts: 1,089
Threads: 32
Joined: Dec 2005
The C= PR100 can (sort of) do that. It shows 1.2 * 10^00 and an overflow indicator.
▼
Posts: 1,545
Threads: 168
Joined: Jul 2005
So if you put in 90 and then computed the factorial, what would you see?
Could you get the actual result with a "mental" adjustment?
▼
Posts: 1,089
Threads: 32
Joined: Dec 2005
It shows 1.49 * 10^38.
Well, I certainly cannot adjust that mentally. Others likely can ;).
▼
Posts: 1,545
Threads: 168
Joined: Jul 2005
Ah, ok, that's what I was hoping to find.
Some early machines did the calculation but since they could not show 3 digits of an exponent, they showed the mantissa and the last 2 digits of the exponent.
The Corvus 500 can do up to 120 ! and shows the result in a flashing display to indicate you have to add a 1 to the displayed exponent.
Seems like this one did it too.
So, which model was first to do this feat?
▼
Posts: 2,761
Threads: 100
Joined: Jul 2005
Privileg SR54NC (1975)?
Well, according to this ad, the answer should be Corvus 500. Quoting from the ad:
"FOR THE FIRST TIME you can raise the number 10 to 199th power or calculate Factorial (x!) of up to 120. Unbelievable!"
Edited: 19 May 2010, 4:42 p.m.
▼
Posts: 1,665
Threads: 142
Joined: Jan 2009
I just checked this on my Corvus 500, and indeed it works. I read through the manual, and while it makes no mention of the range for x!, it does state that the exponent range is +199 through 200. Once you get the flashing display, you must press CLx before proceeding with further operations, and remember the implicit "1" in front of the 2digit exponent. Since this is not stored internally, many operations will yield incorrect answers. For example 120! = 6.69^198 will yield 6.69^98, and taking the SQRT will then yield 2.59^49, which is incorrect.
Posts: 1,477
Threads: 71
Joined: Jan 2005
The Omron 12SR and the APF Mark 90 do this too.
The Bowmar MX140 doesn't have factorial but it does allow exponential overflow.
Katie
▼
Posts: 1,193
Threads: 43
Joined: Jul 2005
The Texas Instruments SR10 and SR11 managed exponential overflow . The SR11 had a "K" switch, for constant multiply and division. It was possible to use it as an event counter: Set 10 as the constant, hit the " X " key for constant multiply, and then press the "Equal" key once for each event to be counted; the exponent field will show the count and will work well after 99 (of course, it's up to you to tell, say, 129 from 229).
I remember myself using it for events in the range of 160 per minute without any problem. That was before I got my HP25...
The SR10 and SR11 only had square root, inverse (1/x) and EE (enter exponent) as "slide rule" functions, they were not really scientific models as the HP35/45 or the TI SR50 of the time.
Posts: 1,665
Threads: 142
Joined: Jan 2009
Katie,
Did you mean the APF Mark 55? It uses the same Mostek ROM as the Omron 12SR and Corvus 500. I suspect that the Privileg SR54, Sanyo CZ2901 and GE CE93 will do x! for x>69 as well.
Michael
▼
Posts: 1,477
Threads: 71
Joined: Jan 2005
Quote:
Did you mean the APF Mark 55?
No, the Mark 90. It's nearly identical to the Commodore PR100.
Posts: 850
Threads: 10
Joined: Mar 2009
Commodore SR7919 also does not have factorial, but allows overflow of exponent too.
▼
Posts: 850
Threads: 10
Joined: Mar 2009
OK, so this got me thinking, how to do a factorial using this "feature" on the SR7919. Just doing simple 1*2*3... doesn't help much of course and only gets to 70 and is errorprone (I think human error increases as the tediousness of repetition increases).
So, in my search, Wikipedea was my friend and on their factorial page I found the following approximation by Srinivasa Ramanujan:
LN(n!) = n*LN(n)  n + (LN(n(1+4n(1+2n))))/6 + (LN(pi))/2
So all I have to do is calculate the right hand side (let's call it RHS) , and do e^x, except that the SR7919 doesn't do exponent overflow for the e^x function. The most complex function it does so for is x^2. Now I can see those cogs in your minds already at work and before you have finished reading this sentence, worked out that SQR(n!)=e^(RHS/2) then do x^2 and voila! I have n! up to n=120. Some results:
n SR7919 HP20S
70 1.1978 E00 1.1978572 E100
99 9.3327 E55 9.3326215 E155
120 6.6894 E98 6.6895029 E198 These are just a few sample points and accuracy may differ more at other points. My next "challenge"  to find the least number of keystrokes to do this :). (And why a 20S for comparing? It happened to be laying on the table and is capable of E499)
Edit: I used the 20S builtin n! function, whose accuracy I don't know either. It only accepts integers, so is not a Gamma aprroximation though.
Edited: 26 May 2010, 5:57 p.m.
Posts: 275
Threads: 38
Joined: Jul 2007
Ah, that brings back memories. When I first got my HP28C, I showed it to a work colleague and the first thing he did was type in 69! and time it against his Casio. It was satisfyingly faster and he was duly impressed.
*Then* I showed him the symbolic arithmetic. :)
Posts: 75
Threads: 11
Joined: Jan 2010
Well, the HP35S can do 253, no more.
Not sure how to get the HP41 to do it if it can.
Dimitri
▼
Posts: 1,248
Threads: 33
Joined: Aug 2007
Quote:
Well, the HP35S can do 253, no more.
Same for 27s, 32sii. Interestingly, the 27s gives the answer almost instantly, the 32sii shows a 'calculating' message for about 2 seconds. Probably due to RAM differences?
▼
Posts: 850
Threads: 10
Joined: Mar 2009
And 20S with about 2s "running" message.
Posts: 2,761
Threads: 100
Joined: Jul 2005
Quote:
Probably due to RAM differences?
Most likely the 27S uses the function approximation even for integers, instead of doing hundreds of multiplications. Try both 253! and 253.000000001! on the 32SII and see which is faster.
▼
Posts: 1,248
Threads: 33
Joined: Aug 2007
Quote:
Try both 253! and 253.000000001! on the 32SII and see which is faster.
The latter is much faster on the 32sii. Almost instantaneous.
The 27s gives "non integer" error, which, I dare say, is the correct answer.
[edited to correct spelling]
Edited: 20 May 2010, 8:08 p.m. after one or more responses were posted
▼
Posts: 2,761
Threads: 100
Joined: Jul 2005
Quote:
The 27s gives "non integer" error, which, I dare say, is the correct answer.
This means the 27s has no gamma function. Therefore my guess about its factorial function being faster was wrong. Perhaps someone else can give us a valid explanation.
Posts: 1,545
Threads: 168
Joined: Jul 2005
Ah, but the 35s, 20s, etc are not "early" calculators with red LED displays.
:)
▼
Posts: 75
Threads: 11
Joined: Jan 2010
I know but I never used a "!" function on a calculator before so I turned to my HP41 and 35S to see if they had it. So thought I'd post it.
Dimitri
Posts: 55
Threads: 9
Joined: Apr 2008
HP71B in about 0.0377 seconds.
BR
Ray
Posts: 117
Threads: 16
Joined: Jul 2009
Well, I would say every calculator can do as long as it has the ability to handle logarithms.
Instead of multiplying the integer, do a sum over the logarithms of the integers  et voilá, you should be able to generate a (logarithmic) result of say 9.999999999^99. Raise this to the power of 10, so you get the integer 10^(9.999999999^99) as the result.
Now the question: the result of which factorial is that?
And which  of course handheld  calculator is able to give the output?
And don't tell me that's cheating. That's applied mathematics ;)
Cheers
P.S.: To see what I suggest, try this little FOCAL app:
Simply put the number to be factorized in the xregister and start the program.
As an example, for 100 the output will be a countdown first and 9.3326E157 which corresponds to 9.3326 10^157.
01 LBL "LOGFACT"
02 0
03 X<>Y
04 LBL 01
05 LOG
06 ST+ Y
07 RDN
08 LASTX
09 VIEW X
10 DSE X
11 GTO 01
12 RDN
13 INT
14 LASTX
15 FRC
16 10^X
17 CLA
18 ARCL X
19 >"E"
20 FIX 00
21 CF 29
22 ARCL Y
23 AVIEW
24 SF 29
25 FIX 04
26 END
Note: at Line 19 >"E" shall denote the alphaappend sign (ASN in ALPHAmode) followed by E (without quotation marks).
Edited: 20 May 2010, 9:47 a.m.
▼
Posts: 2,761
Threads: 100
Joined: Jul 2005
Quote:
As an example, for 100 the output will be a countdown first and 9.3326E157 which corresponds to 9.3326 10^157.
Which is correct, of course!
If we are curious about all other digits and want the HP41 to compute them, we can use R. Farrando's program and get
FACTORIAL OF 100
0093326215
4439441526
8169923885
6266700490
7159682643
8162146859
2963895217
5999932299
1560894146
3976156518
2862536979
2082722375
8251185210
9168640000
0000000000
0000000000
This should take several minutes on the HP41 (It took about 7 minutes on the HP42S). See last message in the thread below.
http://www.hpmuseum.org/cgisys/cgiwrap/hpmuseum/archv016.cgi?read=108035
Regards,
Gerson.
Edited: 20 May 2010, 5:22 p.m.
