Mr Boss,

Thanks for the improvement.

I tend to box groups of values to help my visualization of the problem.
 But I need to remember to not box as I move forward with more calcs.

Best,
Alan
—
Sent from Mailbox <https://bit.ly/SZvoJe> for iPhone


On Sun, May 12, 2013 at 8:56 AM, R.E. Boss <[email protected]> wrote:

> All the boxing is unnecessary.
> Here is the performance you win (j801):
>
> ts'+/>1&p: each 2 %~ each +/ each (2 <\ ])p: i. 1000000'
> 6.4344903 1.8283457e9
>
> ts' +/1 p:2%~ 2 +/\ p: i. 1000000'
> 0.38894168 1.9701402e8
>
> Rule of thumb: don't box items of same shape.
>
>
> R.E. Boss
>
>
> > -----Oorspronkelijk bericht-----
> > Van: [email protected] [mailto:
> [email protected]] Namens Alan Stebbens
> > Verzonden: zondag 12 mei 2013 12:08
> > Aan: [email protected]
> > Onderwerp: [Jprogramming] Testing consecutive pairs of primes
> >
> > ProgrammingPraxis (at http://programmingpraxis.com/2013/05/10/mindcipher)
>
> > offered a problem asking, given p, q as two consecutive pairs of primes,
> if
> > (p+2)%2 could be prime.
> >
> > Since both p & q (> 2) are prime, their sum is an even number and not
> > prime, but could the half of their sum be a prime?
> >
> > I'm not much of a mathematician, but I figured I could brute-force an
> > approximation with J.
> >
> > The gist below is my experiment showing that the answer is no, for the
> > consecutive pairs of primes in the set of the first million primes.
> While
> > it might be possible for the larger primes, I'm thinking not - just by
> > induction.
> >
> > Probably some of you could show a proof, but it was more fun for me to
> > cobble up this in J, and also demonstrate J to the non-J audience at
> > Programming Praxis (which has been mostly scheme, Haskell, python,
> ruby).
> >
> > https://gist.github.com/aks/5563008
> >
> > Here's my experiment:
> >
> > i. 20
> > 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
> >
> > NB. generate the first 20 primes
> > p: i. 20
> > 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71
> >
> > NB. box up consecutive pairs of those primes
> > (2 <\ ]) p: i. 20
> >
> ┌───┬───┬───┬────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬
>
> > ─────┐
> > │2 3│3 5│5 7│7 11│11 13│13 17│17 19│19 23│23 29│29 31│31 37│37 41│41
> 43│43
> > 47│47 53│53 59│59 61│61 67│67 71│
> >
> └───┴───┴───┴────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴
>
> > ─────┘
> >
> > NB. sum up each pair of primes
> > +/ each (2 <\ ])p: i. 20
> > ┌─┬─┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬───┬───┬───┬───┬───┐
> > │5│8│12│18│24│30│36│42│52│60│68│78│84│90│100│112│120│128│138│
> > └─┴─┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───┴───┴───┴───┴───┘
> >
> > NB. divide each sum by 2
> > 2 %~ each +/ each (2 <\ ])p: i.
> > 20
> >
> > ┌───┬─┬─┬─┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
> > │2.5│4│6│9│12│15│18│21│26│30│34│39│42│45│50│56│60│64│69│
> > └───┴─┴─┴─┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
> >
> > NB. now, test each of those results for being prime. 1 p: y -- tests y
> > for being prime
> >
> > 1&p: each 2 %~ each +/ each (2 <\ ])p: i.
> > 20
> >
> > ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
> > │0│0│0│0│0│0│0│0│0│0│0│0│0│0│0│0│0│0│0│
> > └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
> >
> > NB. open the boxed results, so we can add them up
> > >1&p: each 2 %~ each +/ each (2 <\ ])p: i. 20
> > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> >
> > NB. sum/reduce the vector of booleans. If there's a prime, the sum will
> > be > 0
> > +/>1&p: each 2 %~ each +/ each (2 <\ ])p: i. 20
> > 0
> >
> > NB. ok. No primes. Let's keep checking for larger groups
> >
> > +/>1&p: each 2 %~ each +/ each (2 <\ ])p: i. 1000
> > 0
> > +/>1&p: each 2 %~ each +/ each (2 <\ ])p: i. 10000
> > 0
> > +/>1&p: each 2 %~ each +/ each (2 <\ ])p: i. 100000
> > 0
> >
> > NB. the previous output took a few seconds. The next will take a few
> > minutes
> >
> > +/>1&p: each 2 %~ each +/ each (2 <\ ])p: i. 1000000
> > 0
> > ----------------------------------------------------------------------
> > 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