在来自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部分有点迷惑。在if语句中返回i之后,n会采用它的值吗?为什么?
发布于 2012-12-21 06:47:19
不是的。它返回未更改的参数,以指示它是质数。
如果它不是质数,则返回表明它不是质数的因子。
发布于 2013-01-20 21:14:25
让我们取一个数字。
num可以被整除到它的一半(即因子)
实现用于查找prime_numbers的Sieve of Eratosthenes。这是一个寻找素数的有效过程。然后检查返回的素数是否除以"num“...
https://stackoverflow.com/questions/13979928
复制相似问题