
10^(10^10) is a 1 followed by ten billion zeros. Naively evaluating that to an integer is going to cause time and memory problems in any software that supports arbitrary size integers - as Bob Ippolito said, it's going to take about 3.86gb just to store such a number in binary. Even math software (Maple) rejects an attempt to evaluate it directly - sensibly, the "arbitrary size" integers in Maple do have a maximum.
h> import Data.Number.BigFloat h> ((10 :: BigFloat Eps1)^10)^10 1.e100
and
If you are only solving 10^(10^10) why not construct a string with "1" followed by a 100 zeroes?
10^(10^10) isn't the same as (10^10)^10, which is a 1 followed by 100 zeros, easy to evaluate to an integer in Haskell. Evaluating (10 :: BigFloat Eps1)^(10^10) runs into the same problems as 10^(10^10): Prelude> 10^(10^10) <interactive>: out of memory [restart] Prelude> 10.0^(10^10) Infinity Prelude> 10.0**(10.0^10) Infinity Prelude> import Data.Number.BigFloat Prelude Data.Number.BigFloat> (10 :: BigFloat Eps1)^(10^10) <interactive>: out of memory Maple> 10.0^(10^10); Maple> 10^(10^10); Error, operation failed. Integer exponent too large. Graham On 21/09/2013 10:02 PM, yi lu wrote:
I am checking whether a number equals 10^(10^10).
Yi
On Sun, Sep 22, 2013 at 7:11 AM, KC
mailto:kc1956@gmail.com> wrote: Have you compared the solution to other languages?
If you are only solving 10^(10^10) why not construct a string with "1" followed by a 100 zeroes?
In other words, what is this being used for?
On Sat, Sep 21, 2013 at 3:32 PM, yi lu
mailto:zhiwudazhanjiangshi@gmail.com> wrote: Why is it so slow to solve "10^(10^10)" in Haskell?
Yi
_______________________________________________ Beginners mailing list Beginners@haskell.org mailto:Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
-- -- Regards, KC
_______________________________________________ Beginners mailing list Beginners@haskell.org mailto:Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners