Re: FactorInteger Print Formatting
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg701] Re: FactorInteger Print Formatting
- From: novak (John M. Novak)
- Date: Mon, 10 Apr 1995 14:31:01 -0500
Alan Powell <POWELLA at delphi.com> wrote: >Could anyone suggest a neat way to reformat the output of >FactorInteger into a more usable print format? < details deleted > Well, here is a solution. I think it is hardly the most elegant, but it is fairly brief... The technique used here is to convert the list of pairs of integers to a string, by using a transformation rule on the pairs to insert a caret where necessary, and then transposing the list of strings with a list of asterisks (dropping the last one), and joining them all together. factorform[a:{{_Integer, _Integer}..}] := StringJoin @@ Drop[Flatten[ Transpose[{a/.{{n_Integer, 1} :> ToString[n], {n_Integer, m_Integer} :> ToString[n]<>"^"<>ToString[m] }, Table["*", {Length[a]} ]} ] ],-1] I tried a solution based on formatting rules, but that would have involved attaching a formatting rule to List, which could not be done. As usual with Mathematica, many other solutions are possible! --John Novak novak at wri.com