[Jprogramming] Quora problem
'Mike Day' via Programming
programming at jsoftware.com
Mon Aug 14 20:00:34 UTC 2017
Yes, much better!
cf my suggestion a few days ago, and another constructive one using
tap and comb, q_tap_comb :
... time & space for Skip's original problem:
ts'10 #.(,/@:(],"1 0 -."1)^:2 ,.)>:i.9'NB. AG
0.000120949 40448
ts'10#.(#~(-:~.)"1) >: 9#.inv i. 9^3' NB. MD
0.000774292 84608
ts'q_tap_comb 3' NB. constructive, eg RM
0.00130777 39424
... generating required numbers in [12345, 98765]:
ts'10 #.(,/@:(],"1 0 -."1)^:4 ,.)>:i.9'
0.00548052 2.23386e6
ts'10#.(#~(-:~.)"1) >: 9#.inv i. 9^5'
0.066979 5.91731e6
ts'q_tap_comb 5'
0.0397513 2.11584e6
where
q_tap_comb =: tap @[ ,@(10 #."1 {&.:|:) >:@comb&9 f.
ie
q_tap_comb
(i.@! A. i.)@[ ,@(10 #."1 {&.:|:) >:@(4 : 0)&9
k=. i.>:d=.y-x
z=. (d$<i.0 0),<i.1 0
for. i.x do. z=. k ,.&.> ,&.>/\. >:&.> z end.
; z
)
Thanks,
Mike
On 14/08/2017 18:16, Arie Groeneveld wrote:
> My version of variations (without repetitions) :
>
> 10 #. (,/@:(],"1 0 -."1)^:2 ,.)1+i.9
>
> More general:
>
> (3) 4 :'y,/@:(],"1 0 -."1)^:(x-1) ,.y' 'abcd'
>
>
> Op 12-08-17 om 11:16 schreef Skip Cave:
>> 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
More information about the Programming
mailing list