Проект Euler # 3 берет навсегда в Java

Проблема № 3 в проекте Эйлера:

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143?

Мое решение занимает вечность. Я думаю, что я получил правильную реализацию; однако при тестировании с большим числом я не смог увидеть результаты. Это работает вечно. Интересно, что-то не так с моим алгоритмом:

public class LargestPrimeFactor3 {

    public static void main(String[] args) {
        long start, end, totalTime;
        long num = 600851475143L;
        long pFactor = 0;

        start = System.currentTimeMillis();

        for(int i = 2; i < num; i++) {
            if(isPrime(i)) {                
                if(num % i == 0) {
                    pFactor = i;                        
                }
            }
        }

        end = System.currentTimeMillis();
        totalTime = end - start;
        System.out.println(pFactor + " Time: "+totalTime);
    }

    static boolean isPrime(long n) {

        for(int i = 2; i < n; i++) {
            if(n % i == 0) {
                return false;
            }
        }        
        return true;
    }     
}

Ответы на вопрос(9)

Ваш ответ на вопрос