Also

   ~./:~ (*/@:^"1 [:#:[:i.2^#) q: 12    NB. similar to Roger's   */ .(^~)~
1 2 3 4 6 12

--- Oleg Kobchenko <[EMAIL PROTECTED]> wrote:

>    ~./:~ q */@#~ #: i.2^# q=.q: 12
> 1 2 3 4 6 12
>    
>    ~./:~ (*/@#~ #:@i.@(2&^)@#) q: 12
> 1 2 3 4 6 12
> 
> 
> --- Arved Sandstrom <[EMAIL PROTECTED]> wrote:
> 
> > Another novice question. I trying to get the factors of a number N. I use q:
> > to get the prime factors. As many of those as there are, say M, I generate
> > the 2^M binary numbers using
> > 
> > #: i.(2^M)
> > 
> > For M=3 we therefore have
> > 
> > 0 0 0
> > 0 0 1
> > 0 1 0
> > 0 1 1
> > 1 0 0
> > 1 0 1
> > 1 1 0
> > 1 1 1
> > 
> > Now, any given item of this, when used as the left operand to #, with q: N
> > being the right, gives me a combination of prime factors that I will
> > multiply with */ to get a possible factor. I'd just finish off with ~. to
> > clean up the list of factors.
> > 
> > My problem is in taking that list of binary numbers and using each item to #
> > the prime factors. In the above example the longest copy will result in a
> > list of shape 3, and so every result item has shape 3.
> > 
> > I had a really ugly work around that replaced all the zeros with one's,
> > after doing the #, and seeing as how I followed with */ that worked. But I
> > didn't like it.
> > 
> > Is there a more elegant solution? Or I should say, what might it be? Could
> > it involve boxes?
> > 
> > Thanks.
> > 
> > AHS



 
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to