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