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 <programm...@jsoftware.com>
To: programm...@jsoftware.com 
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 <s...@caveconsulting.com> wrote:
>
>   Subject: [Jprogramming] Quora problem
>   To: "programm...@jsoftware.com" <programm...@jsoftware.com>
>   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

Reply via email to