0
Ich habe einen Code, den ich für Project Euler verwende. Es ist der größte Primfaktor von 600851475143 zu finden. Das dauert sehr lange, mindestens 30 Minuten. Kannst du sehen, ob es nur weil mein Code zu lange dauert oder mein Code falsch ist? Auch irgendwelche Tipps, um die Laufzeit schneller zu machen?So finden Sie den größten Primfaktor von 600851475143 in Java
public static void main(String[] args) {
System.out.println(factor(600851475143L));
}
public static long factor(long rc){
long num = rc;// need to add L to make it compile as long not int
long i;
long j;
long largest = 0;
long temp;
for(i = 2; i<rc;i++){
for(j=2;j<rc;j++){
if(i%j==0){
break;
}
if(j==rc-1){
temp = i;
if(largest<temp){
largest=temp;
}
else{
temp = 0;
}
}
}
}
return largest;
}
Warum machen Sie Ihre beiden 'for' Loops wie Sie? –
Wie lange ist "eine wirklich lange Zeit"? – shmosel
@shmosel Länger als ein Stück String –