RosettaCodeData/Task/Eulers-constant-0.5772.../Java/eulers-constant-0.5772....java

25 lines
503 B
Java

/**
* Using a simple formula derived from Hurwitz zeta function,
* as described on https://en.wikipedia.org/wiki/Euler%27s_constant,
* gives a result accurate to 12 decimal places.
*/
public class EulerConstant {
public static void main(String[] args) {
System.out.println(gamma(1_000_000));
}
private static double gamma(int N) {
double gamma = 0.0;
for ( int n = 1; n <= N; n++ ) {
gamma += 1.0 / n;
}
gamma -= Math.log(N) + 1.0 / ( 2 * N );
return gamma;
}
}