0

https://github.com/nayuki/Project-Euler-solutions/blob/master/p003.java的以下片段中:

private static long smallestFactor(long n) {    
  for (long i = 2, end = Library.sqrt(n); i <= end; i++) {    
    if (n % i == 0)    
      return i;   
  }    
  return n; // Prime    
}

我对这部分有点困惑return n。是否ni在 if 语句中返回 after 的值?为什么?

4

2 回答 2

2

不,它返回未更改的参数以指示它是素数。

如果它不是素数,则返回表明它不是素数的因子。

于 2012-12-20T22:47:19.093 回答
0

让我们拿一个数字。

num 可以整除一半(即因子)

实施埃拉托色尼筛法以查找素数。这是查找素数的有效过程。然后检查返回的素数是否除以“num”...

于 2013-01-20T13:14:24.593 回答