一般来说,我会进行素数分解并获得所有素数因子,并进行排列和组合以找出所有因子。
例如:1824是我试图考虑的数字。现在我需要在数字300中没有1824的因子。
有诀窍吗?
答案 0 :(得分:0)
作为一种强力解决方案,您无需对此数字进行因式分解。您只需检查范围内的所有数字。
让您希望找到因子的数字范围为[range_start,range_end]。
只需在循环中迭代这些数字并为每个数字(比如x),检查是否(number % x == 0
),如果是,则x是数字的因子。
答案 1 :(得分:0)
一个技巧是,不是搜索超过您正在搜索因子的数字的平方根的数字。例如,要查找2-300的因子,您只需要从2-ceil(sqrt(1824))搜索,即2-43。一旦找到2-43范围内的数字,将其划分为1824,以检查可能高于43的其他因素。