My intention is to determine if the number "n" is a "perfect
power" and if it is not, continue to
determine if "n" is prime.

If "n" is a "perfect power", I display "COMPOSITE" and the
AKS primality test is finished.

If I find that "n" is not a "perfect" number, the AKS
primality test
continues to determine if the "n" is a prime number.

So...

If the algorithm "perfect power" also known as pp takes
about as long
as q:, I might as well give up and just use 1 = # q: which
will tell me that
there is only one factor and therefore the number is prime.

do a google search on "Detecting Perfect Powers in
Essentially Linear Time"

>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.

----- Original Message Follows -----
From: Joey K Tuttle <[email protected]>
To: Programming forum <[email protected]>
Subject: Re: [Jprogramming] perfect power???
Date: Mon, 8 Jun 2009 14:19:41 -0700

>Ummmm,
>
>The time for j to calculate/assign  e607 is only 0.00019%
>of the  total time on my machine.... What I said was that
>q: took 99% of the  total time - that is still true whether
>or not you define e607 ahead  of time. Your quest would be
>to find a faster way to determine e607  to be prime, hence
>not a perfect power.
>
>You can time j expressions using 6!:2 e.g.
>
>    0j8 ":    6!:2 'e607 =: <: 2x ^ 607'   NB. cpu time in
>seconds 0.00010900
>
>and not have to say "I haven't really timed it."
>
>
>At 12:53  -0800 2009/06/08, [email protected]
>>wrote: e607 =: <: 2x ^ 607    NB. define e607 to eliminate
>>its time overhead
>>
>>pp0=: *./@(0&<@#, 2&<:, 1 < +./)@(#/....@q: ::0:"0)
>>
>>pp0 e607
>>
>>takes about the same time as
>>
>># q: e607
>>
>>
>>----- Original Message Follows -----
>>From: Joey K Tuttle <[email protected]>
>>To: Programming forum <[email protected]>
>>Subject: Re: [Jprogramming] perfect power???
>>Date: Mon, 8 Jun 2009 10:56:04 -0700
>>
>>>Only a silly 1% longer - 99% of the time is taken by q:
>>>determining  that <:2x^607 is a prime... (I'm impressed
>>>that it does :)
>>>
>>>And only one segmentation fault in poking at it... :(
>>>
>>>
>>>At 09:38  -0800 2009/06/08,
>>>>[email protected] wrote: Thanks for the
>>>>help. 
>>>>I haven't really timed it, but it seems that doing:
>>>>
>>>># q: <: 2x ^ 607
>>>>
>>>>is just about as fast as doing
>>>>
>>>>pp0 <: 2x ^ 607
>>>>
>>>>
>>>>----- Original Message Follows -----
>>>>From: Raul Miller <[email protected]>
>>>>To: Programming forum <[email protected]>
>>>>Subject: Re: [Jprogramming] perfect power???
>>>>Date: Mon, 8 Jun 2009 12:09:15 -0400
>>>>
>>>>>On Mon, Jun 8, 2009 at 10:39 AM,
>>>>>>   <[email protected]> wrote: I would not
>>>>>>think it was simpler, but if the verb returned:
>>>>>>   1 - "IS" perfect power
>>>>>>   0 - "IS NOT" perfect power
>>>>>>
>>>>>>   that would be fine.
>>>>>
>>>>>Both Mike Day's and my own solutions work this way:
>>>>>
>>>>   >   pp0=: *./@(0&<@#, 2&<:, 1 < +./)@(#/....@q: ::0:"0)
>>>>>
>>>>>     pp0 4
>>>>>1
>>>>>     pp0 5
>>>>>0
>>>>>
>>>>>FYI,
>>>>>
>>>>>--
>>>>>Raul
>>>>>-------------------------------------------------------
>>>>>-- -- ----------- 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
>
>-----------------------------------------------------------
>----------- 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