Data update
This commit is contained in:
parent
61b93a2cd1
commit
5af6d93694
858 changed files with 20572 additions and 2082 deletions
|
|
@ -2,9 +2,6 @@ import java.util.ArrayList;
|
|||
import java.util.BitSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Calculates the Meissel-Mertens constant correct to 9 s.f. in approximately 15 seconds.
|
||||
*/
|
||||
public final class MeisselMertensConstant {
|
||||
|
||||
public static void main(String[] aArgs) {
|
||||
|
|
@ -12,19 +9,18 @@ public final class MeisselMertensConstant {
|
|||
final double euler = 0.577_215_664_901_532_861;
|
||||
double sum = 0.0;
|
||||
for ( double reciprocal : primeReciprocals ) {
|
||||
sum += reciprocal + Math.log(1.0 - reciprocal);
|
||||
sum += reciprocal + Math.log(1.0 - reciprocal);
|
||||
}
|
||||
|
||||
final double constant = euler + sum;
|
||||
System.out.println("The Meissel-Mertens constant = " + constant);
|
||||
final double meisselMertens = euler + sum;
|
||||
System.out.println(String.format("%s%.9f", "The Meissel-Mertens constant = ", meisselMertens));
|
||||
}
|
||||
|
||||
private static List<Double> listPrimeReciprocals(int aLimit) {
|
||||
BitSet sieve = new BitSet(aLimit + 1);
|
||||
sieve.set(2, aLimit + 1);
|
||||
|
||||
final int squareRoot = (int) Math.sqrt(aLimit);
|
||||
for ( int i = 2; i <= squareRoot; i = sieve.nextSetBit(i + 1) ) {
|
||||
for ( int i = 2; i <= Math.sqrt(aLimit); i = sieve.nextSetBit(i + 1) ) {
|
||||
for ( int j = i * i; j <= aLimit; j += i ) {
|
||||
sieve.clear(j);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue