Relative performance:
('Hui';'Rich';'Murray';'Boss') rank 'q #~ (8$15) -:"1 (+/"1 ,. +/"2)
q{0,2^i.4';'-.@(0&e.)@:(C.!.2)@(,|:)@:<:"2 q';'([: *./ [: (# = #@:~.)"1 (,
|:))"2 q';'q#~([:*./^:3[:~:"1(,:|:))"2 q'
+----------+----+-----+-----+------+
|expression|rank|tm*sz|time |size |
+----------+----+-----+-----+------+
|Hui | 3 |17.44| 1.00|135.87|
+----------+----+-----+-----+------+
|Rich | 0 | 1.00| 7.60| 1.02|
+----------+----+-----+-----+------+
|Murray | 2 | 3.45|26.85| 1.00|
+----------+----+-----+-----+------+
|Boss | 1 | 1.44|10.55| 1.07|
+----------+----+-----+-----+------+
R.E. Boss
> -----Oorspronkelijk bericht-----
> Van: [email protected] [mailto:programming-
> [email protected]] Namens R.E. Boss
> Verzonden: dinsdag 5 oktober 2010 11:44
> Aan: 'Programming forum'
> Onderwerp: Re: [Jprogramming] Distinct Numbers in Rows and Columns
>
>
> q #~ ([:*./^:3 [:~:"1 (,: |:))"2 q
> 1 2 4 3
> 4 3 2 1
> 2 1 3 4
> 3 4 1 2
>
> ts'q#~([:*./^:3[:~:"1(,:|:))"2 q'
> 0.030079443 12352
> ts'q #~ (8$15) -:"1 (+/"1 ,. +/"2) q{0,2^i.4'
> 0.0026829032 2100864
>
> Slower but leaner:
>
> rank 'q #~ (8$15) -:"1 (+/"1 ,. +/"2) q{0,2^i.4';
> 'q#~([:*./^:3[:~:"1(,:|:))"2 q'
> +----+-----+-----+------+
> |rank|tm*sz|time |size |
> +----+-----+-----+------+
> | 1 |15.85| 1.00|170.08|
> +----+-----+-----+------+
> | 0 | 1.00|10.73| 1.00|
> +----+-----+-----+------+
>
>
> R.E. Boss
>
>
> > -----Oorspronkelijk bericht-----
> > Van: [email protected] [mailto:programming-
> > [email protected]] Namens Roger Hui
> > Verzonden: dinsdag 5 oktober 2010 1:37
> > Aan: Programming forum
> > Onderwerp: Re: [Jprogramming] Distinct Numbers in Rows and Columns
> >
> > Great minds think alike, eh? (But I think you
> > need to test your expressions ;-) Go to
> > http://www.jsoftware.com/jwiki/Essays/KenKen
> > and look about a third of the way down,
> >
> > q #~ (8$15) -:"1 (+/"1 ,. +/"2) q{0,2^i.4
> >
> > The initial effort in your previous msg is also
> > similar to my initial effort.
> >
> >
> >
> > ----- Original Message -----
> > From: Marshall Lochbaum <[email protected]>
> > Date: Monday, October 4, 2010 16:28
> > Subject: Re: [Jprogramming] Distinct Numbers in Rows and Columns
> > To: 'Programming forum' <[email protected]>
> >
> > > Here's a funny--and much faster--one:
> > > p=.p:i.n
> > > *./"1 (*/p) = (*/"2 ,. */"1) q{p
> > >
> > > Actually, I suppose it is better to do it with addition, so
> > > p=.2^i.n
> > > *./"1 (+/p) = (+/"2 ,. +/"1) q{p
> > >
> > > Marshall
> > >
> > > -----Original Message-----
> > > From: [email protected]
> > > [mailto:[email protected]] On Behalf Of Roger Hui
> > > Sent: Monday, October 04, 2010 6:41 PM
> > > To: Programming forum
> > > Subject: [Jprogramming] Distinct Numbers in Rows and Columns
> > >
> > > An interesting puzzle arising from the KenKen solver:
> > > q is an array with shape (m,n,n) and (,q) e. 1+i.n .
> > > Which items of q have 1+i.n in each row and in each column?
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm