首先不考虑负数,分解质因数x=p1^a1*p2^a2*...*pn^an
要将x分解为y个数的乘积,就是将这些质因数划分为y个组。将ai个pi划分为y组,允许空组,可以想象成将ai个球+y个“空”球放入y个盒子,共有C(ai+y-1,y-1)种方式。因此x共有C(a1+y-1,y-1)*C(a2+y-1,y-1)*...*C(an+y-1,y-1)种划分。
再考虑负数,分别考虑0个,2个,4个,...2k个负数的情况,相当于从y个数中选出2k个标记为负,共有C(y,2k)种方式。因此每种划分都有C(y,0)+C(y,2)+...C(y,y/2*2)种负数选法。
最后将两部分乘起来就是答案。