Problem
求[1..N]中素因子数最多且最小的数n,N充分大。
Solution
将任意自然数n (n>2) 分解
n=p1^k1 * p2^k2 * p3^k3 * ... * Pm^km
p1<p2<...<pm
则n的因子数为 (k1+1)*(k2+1)*...*(km+1)
假设[1..N](n充分大)中因子数最多且最小的数为n,则显然可见下面两个结论
(1)n的素因子连续即 n=2^k1*3^k2*5^k3 ...
(2)k1 >= k2 >= k3 >= ... >= km
由这两个必要条件,可以得到一个算法:DFS