Мне нужна небольшая помощь с этим:
public class BiggestPrimeFactor{
public static void main(String[] args){
long biggest=0L;
for(long i=2L; i<=600851475143L; i++){
if(600851475143L%i==0){
for(int l=1; l<=Math.sqrt(i); l++){
if (i%l==0){
break;
} else{
biggest=i;
}
}
}
}
System.out.println(biggest);
}
}//end of BiggestPrimeFactor
Я не знаю, хорошо это или нет, но это занимает слишком много времени (более получаса, потом я устал и закрыл командную строку)...
Можете ли вы помочь или хотя бы сказать мне, все ли в порядке?
Благодарность!
я мог бы решить это!!
вот как это выглядит
public class BiggestPrimeFactor{
public static void main(String[] args){
long x=600851475143L;
long biggest=0L;
for(long i=2L; i<=x; i++){
for(long l=1L; l<=Math.sqrt(i); l++){
if(l%i==0){
break;
} else{
while(x%i==0){
x=x/i;
biggest =i;
}
}
}
}
System.out.println(biggest);
}
}//конец BiggestPrimeFactor
и это заняло совсем немного времени! =P спасибо за помощь!
l
? - person Will Ness   schedule 29.12.2013i
простым или нет - person tobgirado   schedule 29.12.2013x%i
, вы делаете многоl%i
. - person Will Ness   schedule 30.12.2013