2012-10-02 42 views
1

通常我會做素因分解並獲取所有素數因子,我會進行排列組合來查找所有因素。如何獲得範圍內數字的否定因素?

例如:1824是我想要考慮的因素。現在我需要一個沒有數字在1824內的數字300.

有什麼竅門?

+0

對於您的示例:您希望查找因子的範圍是:1到300? – Rndm

回答

0

作爲一個蠻力解決方案,您不需要爲此分解數字因子。你可以簡單地檢查範圍內的所有數字。

讓您希望查找因子的數字範圍爲[range_start,range_end]。 只需循環遍歷這些數字併爲每個數字(如x)檢查是否(number % x == 0),如果是,則x是數字的因子。

0

一個竅門,就是不在搜索數字的平方根搜索數字。例如,要找到2-300的因素,你只需要從2-ceil(sqrt(1824))搜索,這是2-43。一旦找到2-43範圍內的一個數字,將其分成1824以檢查其他可能高於43的因素。

相關問題