相关疑难解决方法(0)

素数问题

我正在尝试编写一个程序,以找到一个非常大的最大素数因子,并尝试了几种不同的成功方法.到目前为止我发现的所有这些都令人难以置信地缓慢.我有一个想法,我想知道这是否是一个有效的方法:

long number = input;

while(notPrime(number))
{
    number = number / getLowestDivisiblePrimeNumber();
}

return number;
Run Code Online (Sandbox Code Playgroud)

这种方法需要输入,并将执行以下操作:

200 - > 100 - > 50 - > 25 - > 5(返回)

90 - > 45 - > 15 - > 5(返回)

它将currentNum重复除以最小的可分数(最常见的是2或3),直到currentNum本身为素数(没有可分的素数小于currentNum的平方根),并假设这是原始输入的最大素数因子.

这会一直有效吗?如果没有,有人可以给我一个反例吗?

-

编辑:非常大,我的意思是大约2 ^ 40,或10 ^ 11.

java primes

6
推荐指数
2
解决办法
6786
查看次数

标签 统计

java ×1

primes ×1