overflow
03-08-2020, 04:57 AM
Post: #1
 MathewFrancy Junior Member Posts: 1 Joined: Mar 2020
overflow
I have calculator competitions at school and there is a company called UIL that makes the test we take and the rest of the schools in our area, they have a question that has a number like 2018 raised the power 2442 or something and my calculator hits an overflow, is there a program out there that can let me solve this on the calculator? I use an HP prime btw
03-08-2020, 01:07 PM
Post: #2
 Joe Horn Senior Member Posts: 1,687 Joined: Dec 2013
RE: overflow
Here's one way of doing 2018^2442 on the Prime. Please note that in CAS, pressing the LOG key types the log10() function, and Shift LOG types the alog10() function.

(1) Be sure you're in CAS view. This doesn't work in Home. Why? Dunno.
(2) log10(2018.)*2442 [Be sure to include the decimal point!] --> 8070.61747736
(3) alog10(fp(Ans)) --> 4.1445497719

The first result (in step 2) tells us the exponent of the final answer: 8070. Ignore everything after the decimal point.
The second result (in step 3) gives us the mantissa of the final answer: 4.14455 (rounded off)
Therefore, the answer for 2018^2442 is 4.14455 × 10^8070.

Please note that step 3 will almost always return some inaccurate digits, since it chops off the integer part of step 2's result, thereby losing that many digits of accuracy. In the above example, step 3 returns 4.1445497719, but the last 3 digits of that are wrong. So always discard the last few digits from step 3's result.

Programming the above method is trivial, and is left to the student for homework.

<0|ɸ|0>
-Joe-
03-08-2020, 02:37 PM
Post: #3
 CyberAngel Member Posts: 296 Joined: Jul 2018
RE: overflow
This reminds me that the native LongFloat "library" is still missing.
I would really like to see that
and
a proper RPL stack (internally using list processing)
I could finally retire my iron-age hp 50G
and solely depend on the Prime.
– –
VPN
03-08-2020, 02:52 PM
Post: #4
 Albert Chan Senior Member Posts: 1,243 Joined: Jul 2018
RE: overflow
Another way, by scaling x^y to k (1+ε)^y

2018^2442
= 1.009^2442 * 4 * 2^2440 * 1000^2442
= 1.009^2442 * 4 * 1.024^244 * 1000^(2442+244)
≈ 4.144549796E12 * 10^8058
= 4.144549796 * 10^8070
03-08-2020, 04:25 PM
Post: #5
 Wes Loewer Member Posts: 268 Joined: Jan 2014
RE: overflow
Texas UIL? Did that as a kid.

Sounds like this question was intentionally written to force students to use properties of logs as Joe pointed out. I don't know of any calculators that go to 10^8070 natively. HP's typically go to 10^499, the TI-84+: 10^99, TI-Nspire:10^999. Perhaps they picked such a large value in case some kid had a DM42 which goes to 10^6144.
03-08-2020, 05:43 PM
Post: #6
 CyberAngel Member Posts: 296 Joined: Jul 2018
RE: overflow
(03-08-2020 04:25 PM)Wes Loewer Wrote:  Texas UIL? Did that as a kid.

Sounds like this question was intentionally written to force students to use properties of logs as Joe pointed out. I don't know of any calculators that go to 10^8070 natively. HP's typically go to 10^499, the TI-84+: 10^99, TI-Nspire:10^999. Perhaps they picked such a large value in case some kid had a DM42 which goes to 10^6144.

SysRPL allows nnnnn exponents (old 48 series)
- -
VPN
03-08-2020, 07:22 PM
Post: #7
 Wes Loewer Member Posts: 268 Joined: Jan 2014
RE: overflow
(03-08-2020 05:43 PM)CyberAngel Wrote:  SysRPL allows nnnnn exponents (old 48 series)

Nice. I hadn't thought of that.

I looked up the Texas UIL rules and it says that the calculator must have its memory cleared before the test but then students can hand-enter whatever programs they want after the test has started. So no emacs, but you could edit a string and run ASM.

Of course, by the time you do all that, you could have had the answer using logs.
03-08-2020, 07:52 PM
Post: #8
 Wes Loewer Member Posts: 268 Joined: Jan 2014
RE: overflow
(03-08-2020 04:25 PM)Wes Loewer Wrote:  Texas UIL? Did that as a kid.

To clarify, I competed in one Texas UIL Math competition in Algebra and Geometry. I didn't even have a calculator yet as I was still using a slide rule. UIL used to have a slide rule competitions. It's been a few years, but as I recall, the competition that year allowed either slide rule or calculator.

I have a nephew who did UIL Calculator contests a few years ago. He told me the coach had them all use HP calculators as RPN was so much faster.
03-08-2020, 08:13 PM (This post was last modified: 03-08-2020 08:13 PM by DA74254.)
Post: #9
 DA74254 Member Posts: 154 Joined: Sep 2017
RE: overflow
(03-08-2020 01:07 PM)Joe Horn Wrote:  Here's one way of doing 2018^2442 on the Prime. Please note that in CAS, pressing the LOG key types the log10() function, and Shift LOG types the alog10() function.

(1) Be sure you're in CAS view. This doesn't work in Home. Why? Dunno.
(2) log10(2018.)*2442 [Be sure to include the decimal point!] --> 8070.61747736
(3) alog10(fp(Ans)) --> 4.1445497719

The first result (in step 2) tells us the exponent of the final answer: 8070. Ignore everything after the decimal point.
The second result (in step 3) gives us the mantissa of the final answer: 4.14455 (rounded off)
Therefore, the answer for 2018^2442 is 4.14455 × 10^8070.

Please note that step 3 will almost always return some inaccurate digits, since it chops off the integer part of step 2's result, thereby losing that many digits of accuracy. In the above example, step 3 returns 4.1445497719, but the last 3 digits of that are wrong. So always discard the last few digits from step 3's result.

Programming the above method is trivial, and is left to the student for homework.

My emphasis. What do you mean with this? I just get a "syntax error" on that. What does "fp" mean?

Esben
28s, 35s, 49G+, 50G, Prime G1 HW A, Prime G2 HW D, SwissMicros DM42
Elektronika MK-52 & MK-61
03-08-2020, 08:29 PM (This post was last modified: 03-08-2020 08:41 PM by J-F Garnier.)
Post: #10
 J-F Garnier Senior Member Posts: 468 Joined: Dec 2013
RE: overflow
(03-08-2020 01:07 PM)Joe Horn Wrote:  (1) Be sure you're in CAS view. This doesn't work in Home. Why? Dunno.
(2) log10(2018.)*2442 [Be sure to include the decimal point!] --> 8070.61747736
(3) alog10(fp(Ans)) --> 4.1445497719

... Therefore, the answer for 2018^2442 is 4.14455 × 10^8070.

(03-08-2020 02:52 PM)Albert Chan Wrote:  Another way, by scaling x^y to k (1+ε)^y

2018^2442
= 1.009^2442 * 4 * 2^2440 * 1000^2442
= 1.009^2442 * 4 * 1.024^244 * 1000^(2442+244)
≈ 4.144549796E12 * 10^8058
= 4.144549796 * 10^8070

Combining the simple method 1 and the more accurate method 2:
(1) 2018^2442 = 2.018^2442 * 10^(3*2442)
(2) log10(2.018)*2442--> 744.617477362
(3) alog10(fp(Ans)) --> 4.14454979627
(4) 3*2442+744=8070

Therefore, the answer for 2018^2442 is 4.144549796 × 10^8070.

J-F
03-08-2020, 09:23 PM
Post: #11
 toml_12953 Senior Member Posts: 1,512 Joined: Dec 2013
RE: overflow
(03-08-2020 01:07 PM)Joe Horn Wrote:  (1) Be sure you're in CAS view. This doesn't work in Home. Why? Dunno.
(2) log10(2018.)*2442 [Be sure to include the decimal point!] --> 8070.61747736
(3) alog10(fp(Ans)) --> 4.1445497719

It's weird! In HOME mode, fp(Ans) returns the proper value but alog10(fp(Ans)) returns 1.
If you manually type in alog10(.61747736) then 4.1445497719 is displayed. I guess there are separate Ans registers for Home and CAS modes?

Tom L
I don't care for whom you voted. If you put ice in your beer, you're crazy.
03-08-2020, 09:38 PM (This post was last modified: 03-08-2020 09:39 PM by DA74254.)
Post: #12
 DA74254 Member Posts: 154 Joined: Sep 2017
RE: overflow
Thank you toml_12953
I got it now. I embarrasingly added an extra set of parenthesis, which wasn't to my Primes liking..

Esben
28s, 35s, 49G+, 50G, Prime G1 HW A, Prime G2 HW D, SwissMicros DM42
Elektronika MK-52 & MK-61
03-08-2020, 10:12 PM
Post: #13
 CyberAngel Member Posts: 296 Joined: Jul 2018
RE: overflow
(03-08-2020 09:23 PM)toml_12953 Wrote:
(03-08-2020 01:07 PM)Joe Horn Wrote:  (1) Be sure you're in CAS view. This doesn't work in Home. Why? Dunno.
(2) log10(2018.)*2442 [Be sure to include the decimal point!] --> 8070.61747736
(3) alog10(fp(Ans)) --> 4.1445497719

It's weird! In HOME mode, fp(Ans) returns the proper value but alog10(fp(Ans)) returns 1.
If you manually type in alog10(.61747736) then 4.1445497719 is displayed. I guess there are separate Ans registers for Home and CAS modes?

I just tap twice on the needed argument in the history and I gets copied into prompt line.
No ANS needed.
– –
VPN
03-08-2020, 11:55 PM
Post: #14
 John Keith Senior Member Posts: 621 Joined: Dec 2013
RE: overflow
(03-08-2020 02:37 PM)CyberAngel Wrote:  This reminds me that the native LongFloat "library" is still missing.
I would really like to see that
and
a proper RPL stack (internally using list processing)
I could finally retire my iron-age hp 50G
and solely depend on the Prime.
– –
VPN

Yeah, what he said!

Actually, no LongFloat required. The HP50 in exact mode gives the, er, exact answer- all 8071 digits. It does take almost 3 minutes however.
03-11-2020, 05:16 PM (This post was last modified: 03-11-2020 05:26 PM by StephenG1CMZ.)
Post: #15
 StephenG1CMZ Senior Member Posts: 868 Joined: May 2015
RE: overflow
Although not "Longfloat" there is an extended precision library that might help.
(I don't know if it implements ^)

Stephen Lewkowicz (G1CMZ)
ANDROID HP Prime App broken offline on some mobiles
03-11-2020, 06:18 PM
Post: #16
 CyberAngel Member Posts: 296 Joined: Jul 2018
RE: overflow
(03-11-2020 05:16 PM)StephenG1CMZ Wrote:  Although not "Longfloat" there is an extended precision library that might help.