如何讓此代碼運行得更快?減少代碼的運行時間
public class ProjectEuler3 {
public static void main(String[] args) {
System.out.println(findfactors(600851475143l));
}
public static long findfactors(long n) {
long[] factors = new long[1000000];
int nooffactor = 0;
int c = 0;
for (long i = 2; i < n; i++) {
if (findPrime(i)) {
factors[c++] = i;
nooffactor++;
}
}
return factors[nooffactor - 1];
}
public static boolean findPrime(long n) {
for (long i = 2; i < n; i++) {
if(n % i == 0)
return false;
}
return true;
}
}
增加運行時間將意味着使代碼運行_slower_。 – 2011-06-05 19:40:32
啊,歐拉計劃 - 我在想早些時候我應該有另一個破解:)你有什麼想法是什麼讓你的代碼慢? – marnir 2011-06-05 19:42:40
哦,對於不瞭解歐拉計劃的人,你應該告訴我們代碼應該做什麼! (關於主要因素,這很清楚) – marnir 2011-06-05 19:44:59