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
