thanks - roger and raul
that did it.
----- Original Message Follows -----
From: Roger Hui <[email protected]>
To: Programming forum <[email protected]>
Subject: Re: [Jprogramming] question about Roger Hui -
perfect power code
Date: Wed, 10 Jun 2009 09:30:53 -0700

>Just add 1 to it:
>   i.&.(_1&p:) 1+>.2^.y
>
>
>
>----- Original Message -----
>From: [email protected]
>Date: Wednesday, June 10, 2009 9:16
>Subject: Re: [Jprogramming] question about Roger Hui -
>perfect power code To: Programming forum
><[email protected]>
>
>> Hum.......
>> 
>>    2+i.>.2^. 
>>
10000                                         
>>                    
>> 2 3 4 5 6 7 8 9 10 11 12 13 14 15
>> 
>>    i.&.(_1&p:) >.2^. 
>>
10000                                 
>>                   
>> 2 3 5 7 11 13
>> 
>> which is OK
>> 
>>    2+i.>.2^. 
>>
100                                           
>>                    
>> 2 3 4 5 6 7 8
>> 
>>    i.&.(_1&p:) >.2^. 
>>
100                                   
>>                   
>> 2 3 5
>> 
>> A problem:  missed 7 which is a prime.
>> 
>> 
>> 
>> ----- Original Message Follows -----
>> From: Roger Hui <[email protected]>
>> To: Programming forum <[email protected]>
>> Subject: Re: [Jprogramming] question about Roger Hui -
>> perfect power code
>> Date: Tue, 09 Jun 2009 23:44:42 -0700
>> 
>> >> 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.
>> >
>> >If only prime powers are required you can use
>> >i.&.(_1&p:) >.2^.y  instead of  2+i.>.2^.y .
>> >In that case you should probably rename the 
>> >function to ppp (perfect prime power).
>> >
>> >
>> >
>> >----- Original Message -----
>> >From: [email protected]
>> >Date: Tuesday, June 9, 2009 16:40
>> >Subject: [Jprogramming] question about Roger Hui -
>> >perfect power code To: Programming forum
>> ><[email protected]>
>> >
>> >> 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

Reply via email to