So many things: I knew that, but it just passed by my un-seeing eyes.
thanks ----- Original Message Follows ----- From: Don Guinn <[email protected]> To: Programming forum <[email protected]> Subject: Re: [Jprogramming] question about Roger Hui - perfect power code Date: Tue, 9 Jun 2009 18:53:57 -0500 >The x: is a verb which converts e to an extended integer. >Probably makes the exponentation be performed by repeated >squaring. > >On Tue, Jun 9, 2009 at 6:39 PM, ><[email protected]> wrote: > >> In the following code: >> >> pp=: 3 : 0 >> for_e. 2+i.>.2^.y do. >> m=. e <....@%: y >> if. y=m^x: e do. m,e return. end. >> end. >> '' >> ) >> >> I understand that: >> >> if. y=m^x: e do. m,e return. end. >> >> will exit when the input y equals the m^x: and display m >>,e >> 1. Where does the "x" come from. I do not supply it as >> a left-hand-side argument. >> 2. what is the significance of "x:" >> >> Thanks for the explanation. >> >> A comment: >> >> In reading about the "perfect power" there was a >> statement I found that (I think) ... >> said that the only exponents I should test were those >> that were prime. >> >> Is it cheaper time-wise to just do all the exponents from >> 2 to >. 2 ^. y or would >> it be faster to prune the for_e list so it only contains >> primes. >> >> ----- Original Message Follows ----- >> From: Roger Hui <[email protected]> >> To: Programming forum <[email protected]> >> Subject: Re: [Jprogramming] perfect power??? >> Date: Mon, 08 Jun 2009 16:11:41 -0700 >> >> >Somewhere in the bowels of q: it calls 1&p: >> >before launching into the much more expensive >> >factoring routine. >> > >> >It seems to me there should be a straightforward >> >determination of whether a number y is a perfect power: >> >just try all possible exponents from 2 to 2 >....@^. y . >> >For example, for 2^607x the exponents are from 2 to 607, >> >which is not many exponents to try. Thus: >> > >> >pp=: 3 : 0 >> > for_e. 2+i.>.2^.y do. >> > m=. e <....@%: y >> > if. y=m^x: e do. m,e return. end. >> > end. >> > '' >> >) >> > >> > pp 81 >> >9 2 >> > pp 128 >> >2 7 >> > pp 125 >> >5 3 >> > pp 2^100x >> >1125899906842624 2 >> > pp <:2^607x >> > >> > 6!:2 'pp <: 2^607x' >> >0.159832 >> > >> >pptest=: *...@#@pp >> > >> > >> > >> > >> >----- Original Message ----- >> >From: Raul Miller <[email protected]> >> >Date: Monday, June 8, 2009 15:32 >> >Subject: Re: [Jprogramming] perfect power??? >> >To: Programming forum <[email protected]> >> > >> >> On Mon, Jun 8, 2009 at 6:13 PM, >> >> <[email protected]> wrote: >> >> > From what I am read in this article, determing if a >> >> > number is a "Perfect Power" should be >> >> > a lot faster. Either that or I am totally >> mis-reading >> >> > the article. >> >> >> >> Determining if a number is a perfect power is >> >> certainly faster than some algorithm for determining >> >> if a number is prime. >> >> >> >> But do you have any reason to believe J uses that >> >> algorithm, in its implementation of q? >> >> >> >> That said, 1 p: will determine whether or not a number >> >> is prime, and might be faster than 1 = # q: in some >> >> cases. >> >>---------------------------------------------------------- >> >- ----------- For information about J forums see >> >http://www.jsoftware.com/forums.htm >> >----------------------------------------------------------- >> ----------- For information about J forums see >>http://www.jsoftware.com/forums.htm >----------------------------------------------------------- >----------- For information about J forums see >http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
