a general approach that uses much longer code, but permutations of combinations,
perm =: i.@! A. i.
combT =: [: ; ([ ; [: i.@>: -~) ((1 {:: [) ,.&.> [: ,&.>/\. >:&.>@:])^:(0 {::
[) (<i.1 0) ,~ (<i.0 0) $~ -~
# 10 #."1 /:~ >: ,/ ({~ perm@#)"1 ] 3 combT 9
504
________________________________
From: 'Mike Day' via Programming <[email protected]>
To: [email protected]
Sent: Saturday, August 12, 2017 7:15 AM
Subject: Re: [Jprogramming] Quora problem
I think Skip wants all permutations, not just increasing and decreasing
ones,
so here's an alternative:
5({.,(-@[){.]) 10#.(#~(3=#@~.)"1) >: 9#.inv i. 9^3
123 124 125 126 127 983 984 985 986 987
The initial 5 ( ) is of course just to limit the output!
Any use?
Mike
On 12/08/2017 10:56, 'Jon Hough' via Programming wrote:
> Not particularly efficient or terse but here:
>
> inc=: -.@:(0&e.)@:~.@:(2&(</\)) NB. increasing
> dec=: -.@:(0&e.)@:~.@:(2&(</\)) NB. decreasing
> mt=: inc +. dec NB. monotonic
>
> (-:9*8) }. (mt"1 # ] ) 10 10 10 #: i. 1000 NB. strip off the first 9*4 rows.
> --------------------------------------------
> On Sat, 8/12/17, Skip Cave <[email protected]> wrote:
>
> Subject: [Jprogramming] Quora problem
> To: "[email protected]" <[email protected]>
> Date: Saturday, August 12, 2017, 6:16 PM
>
> How can I use J to generate all the possible
> 3-digit integers that can be
> constructed using the digits 1-9 (no
> zeros), with no repeated digits in
> each integer? The sequence starts with
> 123 (smallest) and goes to 987
> (largest). Here's the first few
> integers in the sequence:
>
> 123 124 125 126 127 128 129 132 134 135
> 136 137 138 139 142 143 145 146 147
> 148 149 152 153 154 156 157 158 159
> 162......
>
> Skip
>
> Skip Cave
> Cave Consulting LLC
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm