package Exercises;
import java.math.BigInteger;
public class LargestPrimeFactor {
public static void main(String[] args) {
BigInteger x = new BigInteger ("600851475143");
BigInteger prime = new BigInteger ("0");
for (BigInteger i = new BigInteger("2"); i.compareTo(x.divide(new BigInteger("2"))) < 1; i = i.add(new BigInteger("1")))
{
if (x.mod(i) == new BigInteger ("0"))
if (isPrime(i))
prime = i;
}
System.out.println(prime);
}
public static boolean isPrime (BigInteger number)
{
for (BigInteger i = new BigInteger("2"); i.compareTo(number.divide(new BigInteger("2"))) < 1; i = i.add(new BigInteger("1")))
{
if (number.mod(i) == new BigInteger("0"))
return false;
}
return true;
}
}
so I'm trying to find the largest prime factor for 600851475143 but when i run it it doesn't display anything and it keeps running how can i fix this ?