比如60可以分解质因数为2^2*3*5,用对象表示即为{2:2,3:1,5:1},2^{0-2}*3^{0-1}*5^{0-1}都是60的因数。
如图使用了dfs,核心思路是 0,0,0到 0,0,1到0,1,0 到0,1,1到1,0,0到1,0,1到1,1,0到1,1,1到2,0,0到2,01到2,1,0到2,1,1
[1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60]总共12个.
想想时间复杂度,假设质因数分解是{A:a,B:b,C:c,D:d,.....M:m}
(a+1)(b+1)(c+1)(d+1)...(m+1)
假设质因数分解对象的数量是k。a,b,c,d这些都是常数级别。假设常数最大为n
那么时间复杂度不超过 O((n+1)^k)。时间复杂度不确定。k越大,n越大,时间复杂度越高.
