分解逻辑的方法

时间:2016-05-11 06:34:56

标签: algorithm math logic prime-factoring

我见过许多像这样的写分解逻辑 1.从 i = 2 开始 2.使用 i * i< = number 条件进行循环

for(int i = 2; i*i <= number; i++){
 if(number % i == 0)
   // some code
}

我怀疑是:    使用i * i&lt; = number的需要是什么。他在优化什么?

1 个答案:

答案 0 :(得分:0)

数字的因素是成对的。例如,数字30包含因子1235610,{{ 1}}和15

30

因此,您不需要计算所有因素,只需要计算其中的前半部分,并通过简单的除法运算来获得另一半因素。

相关问题:Efficiently getting all divisors of a given number