}. 2&*//.@(2&=,:]) 1 2 3 2 2 4 2 1
2 2 6 4 2 8 2 1

On 12-05-14 19:11, 'Pascal Jasmin' via Programming wrote:
I'm looking for this answer, but a better way to do it.

   > ({~"1 0 [: i.#) (<@:+:@>)^:(1 |. 2= ] &>)  ;/ 1 2 3 2 2 4 2 1
2 2 6 4 2 8 2 1

the right hand side must be boxed.  Unboxing at end, just there for display.  
Should not assume that it is possible for input.

What the above is doing is if/for a cell that is equal to 2, double the 
previous cell.

To get it to work, I've had to generate a full n x n table, and then take the 
diagonal.  Is there a better tacit way that avoids n x n table?
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

--
Met vriendelijke groet,
@@i = Arie Groeneveld

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to