Simpler than using "agenda", since you're multiplying by zero or one
anyway, might be something like this:
   isPrime=: ]*1&p:
so
   isPrime >:i.20
0 2 3 0 5 0 7 0 0 0 11 0 13 0 0 0 17 0 19 0

Also, I don't know if this is helpful for solving your problem as I'm
unclear on exactly what it is, but using the "inverse power" (^:_1) is
handy for figuring out which prime is closest to an arbitrary number, e.g.

   p:^:_1]999
168
   p:168-0 1
1009 997



On Tue, Apr 29, 2014 at 11:56 AM, Don Guinn <[email protected]> wrote:

> The choice as to which part of the gerund chooses has to be made for each
> number. Use rank to let it process each number separatery.
>
>    getPrime=. ((*&0)`(*&1)@.(1&p:))"0 NB. If not prime returns 0, if prime
> returns original number.
>    getPrime 17 18 19
> 17 0 19
>
> "Best" is a judgement and depends on the situation and person making it. I
> like:
>
>    sum_primes=:3 : '+/p:i.p:^:_1 y'
>    sum_primes 20
> 77
>
>
> On Tue, Apr 29, 2014 at 9:22 AM, Jon Hough <[email protected]> wrote:
>
> > This question comes in two parts.
> > Statement of problem I am trying to solve:
> > Get the sum of primes less than a given number.
> > Question (1):What is the best way to do this?
> > What I am attempting now is to use gerunds and the p: verb.Essentially I
> > want to add all the numbers in an array if they are primes.
> > This is what I have so far:
> > getPrime=. (*&0)`(*&1)@.(1&p:) NB. If not prime returns 0, if prime
> > returns original number.
> > I will then +/ through the returned array.getPrime works for a single
> > number. But whenever I try to use a 1-d array as the noun I get a "rank
> > error".I am not sure how to fix this.
> > Question (2): How do I fix the above error? Even if my method is not a
> > very good way to solve the original problem I would still like to know
> why
> > I doesn't work.
> > Regards.
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 
Devon McCormick, CFA
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to