Quora Question: Can you arrange the digits 1-9 to make a nine-digit number
such that the first digit is divisible by one, the first two digits are
divisible by two, the first three divisible by three and so on?
My solution:
ea=.&.>
at=.>10#.ea(a=.362880 9$1 to 9){.ea{n=.>:perm 9
{:"1 at#~*./"1[0=a|"1 at
381654729
The answer is 381654729.
Check:
]m=.>10#.ea(;/1 to 9){.ea{sep 381654729
3 38 381 3816 38165 381654 3816547 38165472 381654729
(1 to 9)| m
0 0 0 0 0 0 0 0 0
There is only one answer. Is there a way to simplify or minimize the big
repetitive array 'a' to make the two J code lines more memory efficient &
succinct?
Skip Cave
Cave Consulting LLC
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm