mirror of
https://github.com/Noratrieb/benchmarks.git
synced 2026-01-15 03:05:03 +01:00
java primes
This commit is contained in:
commit
bd77a7dfff
5 changed files with 76 additions and 0 deletions
33
primes/java/src/DefaultPrimes.java
Normal file
33
primes/java/src/DefaultPrimes.java
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DefaultPrimes implements Primes {
|
||||
|
||||
// (will make the code 15% slower)
|
||||
@SuppressWarnings("ForLoopReplaceableByForEach")
|
||||
public List<Integer> primes(int max) {
|
||||
List<Integer> primesList = new ArrayList<>(10000);
|
||||
|
||||
primesList.add(2);
|
||||
|
||||
for (int i = 3; i < max; i++) { //go through all numbers
|
||||
boolean isPrime = true;
|
||||
for (int j = 0; j < primesList.size(); j++) { //test each number
|
||||
int prime = primesList.get(j);
|
||||
if (prime > Math.sqrt(i)) {
|
||||
break;
|
||||
}
|
||||
if (i % prime == 0) { //i = test number, j = some known prime
|
||||
isPrime = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isPrime) {
|
||||
primesList.add(i);
|
||||
}
|
||||
}
|
||||
|
||||
return primesList;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue