Ik ben al een tijdje bezig met een goed algortime te zoeken om snel priemgetallen te berekenen en kwam bij volgende code die om de een of andere bizarre reden een ArrayIndexOutOfBoundsException geeft.
Mijn code (werkt niet):
Weet er iemand wat deze fout veroorzaakt ?
Mijn code (werkt niet):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| public class Primes {
public static void main(String [] args) {
int primesRequired = 100;
long [] primes = new long[primesRequired];
primes[0] = 2;
primes[1] = 3;
int count = 2;
long number = 5;
outer:
for (; count < primesRequired; number += 2) {
long limit = (long) Math.ceil(Math.sqrt((double)number));
inner:
for (int i = 1; i < count && primes[i] <= limit; i++) {
if (number % primes[i] == 0)
continue outer;
primes[count] = number;
++count;
}
}
}
} |
Weet er iemand wat deze fout veroorzaakt ?