I googled, Haskell used the GMP library for extended integer. On Mon, Mar 11, 2019, 4:00 AM Eugene Nonko <[email protected]> wrote:
> I need to find the smallest number that divides all numbers from 1 to n. > The solution, of course is this: > > *./ >: i. n > > What I don't understand is why this solution seems to scale so poorly: > > 6!:2 '*./ >: i.10000x' > 0.326128 > 6!:2 '*./ >: i.11000x' > 1.00384 > 6!:2 '*./ >: i.12000x' > 4.133 > 6!:2 '*./ >: i.13000x' > 11.8082 > > When I perform similar calculation in Haskell it produces result in > negligible time, even when n = 100,000. > > λ: foldr1 lcm [1 .. 100000] > 695283836241707197000307586... > > If I use a verb other than *. it runs very quickly, as expected. > > What's so special about LCM? > > Thanks, > Eugene > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
