免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

整数的乘法分拆

f[1] = {{}};
f[x_] := f[x] =
   DeleteDuplicatesBy[
    Flatten[Table[
      Prepend[#, m] & /@ f[x/m], {m, Drop[Divisors[x], 1]}], 1], Sort];
f[1500]

{{2, 2, 3, 5, 5, 5}, {2, 2, 3, 5, 25}, {2, 2, 3, 125}, {2, 2, 5, 5, 15}, {2, 2, 5, 75},
  {2, 2, 15, 25}, {2, 2, 375}, {2, 3, 5, 5, 10}, {2, 3, 5, 50}, {2, 3, 10, 25},
  {2, 3, 250}, {2, 5, 5, 5, 6}, {2, 5, 5, 30}, {2, 5, 6, 25}, {2, 5, 10, 15},
  {2, 5, 150}, {2, 6, 125}, {2, 10, 75}, {2, 15, 50}, {2, 25, 30}, {2, 750},
  {3, 4, 5, 5, 5}, {3, 4, 5, 25}, {3, 4, 125}, {3, 5, 5, 20}, {3, 5, 10, 10},
  {3, 5, 100}, {3, 10, 50}, {3, 20, 25}, {3, 500}, {4, 5, 5, 15}, {4, 5, 75},
  {4, 15, 25}, {4, 375}, {5, 5, 5, 12}, {5, 5, 6, 10}, {5, 5, 60}, {5, 6, 50},
  {5, 10, 30}, {5, 12, 25}, {5, 15, 20}, {5, 300}, {6, 10, 25}, {6, 250},
  {10, 10, 15}, {10, 150}, {12, 125}, {15, 100}, {20, 75}, {25, 60},
  {30, 50}, {1500}}
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

返回列表 回复 发帖