Honaker primes: Difference between revisions

m
Minor code improvement.
(New post without using external libraries, in addition to an existing post which uses the "Primesieve" lexternal ibrary.)
m (Minor code improvement.)
Line 883:
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
 
public final class HonakerPrimes {
Line 913 ⟶ 911:
private static int digitalSum(int number) {
return String.valueOf(number).chars().map( i -> i - (int) '0' ).sum();
}
 
private static void sievePrimes(int limit) {
primes.add(p2);
List<Boolean> markedPrime = IntStream.range(0, limit).boxed().map( i -> true ).collect(Collectors.toList());
for ( final int phalfLimit = 2; p * p <( limit; p++ 1 ) {/ 2;
boolean[] composite = new boolean[halfLimit];
if ( markedPrime.get(p) ) {
for ( int i = 1, p *= p3; i < limithalfLimit; ip += p2, i++ ) {
if ( ! composite[i] ) {
markedPrime.set(i, false);
primes.add(p);
}
for ( int a = i + p; a < halfLimit; a }+= p ) {
composite[a] = true;
}
}
}
primes = new ArrayList<Integer>();
}
for ( int p = 2; p < limit; p++ ) {
}
if ( markedPrime.get(p) ) {
primes.add(p);
}
}
}
private static int honakerIndex = 0;
private static int primeIndex = 0;
private static List<Integer> primes = new ArrayList<Integer>();
private static record HonakerPrime(int honakerIndex, int primeIndex, int prime) {
908

edits