题目 参考 题意:给定一个数d,求一个最小的整数a,使得其 1、a至少有4个因子 2、a的任何两个因子相差大于等于d。
思路:任何一个数,其因子至少有1和它本身。设a刚好有4个因子,有两种情况, p 3 p^3 p3或 p ∗ q p*q p∗q( p , q p,q p,q为素数)。可以证明,如果因子数更多,不是最优解。假设 p k ( k > 3 ) p^k(k>3) pk(k>3)是满足题意的数,那么 p 3 p^3 p3也满足题意且 p 3 p^3 p3> x; vector p; for (int i = x + 1; ; i++) { int t = 1; for (int j = 2; j * j