【发布时间】:2013-09-25 04:25:01
【问题描述】:
这是我的代码:
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 太大了。谁能帮帮我?
【问题讨论】:
-
我在您的代码中没有看到对该数字的任何引用。您是否遇到运行时异常?给你这个信息的“它”是什么?
-
将所有
longs 更改为doubles -
你是如何调用
findLargestPrimeFactor方法的?你在哪里看到这个错误?
标签: java