1
這裏是我的代碼:爲什麼我的程序說整數對於Project Euler#3(Java)來說太大了?
public static boolean isPrime(long num)
{
for(long i=2; i<=num/2; i++)
{
if(num%i==0)
{
return false;
}
}
return true;
}
public static long findLargestPrimeFactor(long n)
{
long max=0;
for(long factor=2; factor<n; factor++)
{
if(n % factor==0)
{
if(isPrime(n/factor)==true)
{
max=factor;
}
}
}
return max;
}
然而,當我運行它,它說,該整數600851475143太大。誰能幫我?
我沒有看到你的代碼中對該數字的任何引用。你是否得到一個運行時異常?什麼是「它」給你這個信息? –
將所有'long's更改爲'double's –
如何調用您的'findLargestPrimeFactor'方法以及您在哪裏看到此錯誤? – rocketboy