http://code.jsoftware.com/wiki/Essays/Factorings



On Wed, May 10, 2017 at 7:12 AM, David Lambert <[email protected]> wrote:

> I need a fast algorithm to find all factorizations of a number. This
> method is terribly redundant, let's say the prime factors are 2^19 .  And
> the method is get the nub of the product of all complete partitions of all
> the permutations of the prime factors.
>
>    boxdraw_j_ 1
>
>    permutations=: A.&i.~ !
>
>    unique_permutations=: ~.@:({~ permutations@:#)
>
>    unique_permutations 'aab'
> aab
> aba
> baa
>    unique_permutations q:24
> 2 2 2 3
> 2 2 3 2
> 2 3 2 2
> 3 2 2 2
>
>
>    complete_partitions=: <;.1"_ 1~ (1 ,. [: #: [: i. 2 ^ [: <: [: # {.)
>
>    complete_partitions ,:'abc'
> +---+--+-+
> |abc|  | |
> +---+--+-+
> |ab |c | |
> +---+--+-+
> |a  |bc| |
> +---+--+-+
> |a  |b |c|
> +---+--+-+
>
>    ([: < [: /:~ -.&1)"1 */&> complete_partitions unique_permutations q:24
> +--+----+---+-----+----+-----+-----+-------+
> |24|3 8 |4 6|2 3 4|2 12|2 3 4|2 2 6|2 2 2 3|
> +--+----+---+-----+----+-----+-----+-------+
> |24|2 12|4 6|2 3 4|2 12|2 2 6|2 2 6|2 2 2 3|
> +--+----+---+-----+----+-----+-----+-------+
> |24|2 12|4 6|2 2 6|2 12|2 2 6|2 3 4|2 2 2 3|
> +--+----+---+-----+----+-----+-----+-------+
> |24|2 12|4 6|2 2 6|3 8 |2 3 4|2 3 4|2 2 2 3|
> +--+----+---+-----+----+-----+-----+-------+
>
>    NB. multiplication commutes, allowing simplification
>    ,. ([: ~. [: , ([: < [: /:~ -.&1)"1) */&> complete_partitions
> unique_permutations q:24
> +-------+
> |24     |
> +-------+
> |3 8    |
> +-------+
> |4 6    |
> +-------+
> |2 3 4  |
> +-------+
> |2 12   |
> +-------+
> |2 2 6  |
> +-------+
> |2 2 2 3|
> +-------+
>
> ----------------------------------------------------------------------
> 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