Reference: http://rosettacode.org/wiki/Topswops
What are good ways to count iterations?

   While=: 2 : 'u^:v^:_'

   topswop=: (|.@:{. , }.)~ {.

   topswop While (1 ~: {.) 2 4 1 3
 1 2 3 4

These ideas seem like structural nightmares:
* separate data and counter with boxes;
* append a counter to the data;
* explicit code with a global noun;
* +/@:(0 = (0,~topswop)While(1 ~: {.))  NB. <laughs>.

The boxes or explicit code seem most general.

Thank you, Dave.

Bonus: find a definition topswop using C.

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

Reply via email to