Я много пробовал и несколько раз отлаживал, кажется, все работает, и наибольшее простое число действительно становится самым большим простым, даже если это занимает довольно много времени.
Я не могу получить распечатанноезначение от System.out.println
.Я мог бы найти его через отладчик, но значение слишком велико, чтобы найти его быстро, просто удерживая шаг вперед.
Он также компилируется, поэтому я не знаю, в чем здесь проблема.Я был бы очень рад узнать, что я сделал неправильно.
Редактировать: причина, по которой я написал этот код, в первую очередь потому, что в проекте сайта euler он запрашивал наибольшее простое значение, которое при делении назначение праймера дало целое число.
Есть ли способ, по крайней мере, который позволил бы мне сделать это быстрее с тем же значением?это кажется довольно непрактичным.
package unit5;
public class Primefinder { public static void main(String[] args)
{
double primer = 600851475143d;
double largestprime = 0;
Boolean ifprime = false;
for(double x = 2d; x < primer; x++)
{
for(double z = 2d; z<x; z++)
{
if( (x%z == 0) && (z != x) )
{
ifprime = false;
break;
}
else {
ifprime = true;
}
}
if((ifprime != false) && (x > largestprime))
{
largestprime = x;
}
ifprime = false;
}
System.out.print(largestprime);
}
}