# Compute and approximat value for euler's constant

• 10-08-2005, 03:09 PM
Mcody2
Compute and approximat value for euler's constant
the problem is for me to compute and approxiamte value for euler's constant by summing the series (adding up the terms 1, 1/2, ...., 1/n in that order and then subtracting the value fo In(n)).
I have to do this with both double and float arithmetic.

Here is what I have so far.

import java.io.*;
public class PP2 {
public static void main(String[] args) throws

IOException {
System.out.println("Enter the limit for sum:");

int loops = Integer.parseInt(S.trim());
int n;
for (n = 1; n <= loops; n++)
{
double sum = sum + (double)(1/n);
float sum2 = sum2 + (float)(1/n);
}
double condoub = sum - (double)Math.log(loops);
float conflout = sum2 - (float)Math.log(loops);
System.out.println("Euler's const, double: =" + condoub);
System.out.println("Euler's const, flout: =" + conflout);
}
}
thanks for the help :D
• 10-09-2005, 07:45 AM
sjalle
You should declare the sum and sum2 prior to the loop, the way you have
coded it will not accumulate, it doesn't even compile :)

Code:

```import java.io.*; public class PP2 {   public static void main(String[] args) throws IOException {     System.out.println("Enter the limit for sum:");     BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in));     String S = kbd.readLine();     int loops = Integer.parseInt(S.trim());     int n;     double sum=0;     float sum2=0;     for (n = 1; n <= loops; n++) {       sum = sum + (double) (1 / n);       sum2 = sum2 + (float) (1 / n);     }     double condoub = sum - (double) Math.log(loops);     float conflout = sum2 - (float) Math.log(loops);     System.out.println("Euler's const, double: =" + condoub);     System.out.println("Euler's const, flout: =" + conflout);   } }```
• 10-09-2005, 02:14 PM
Mcody2
Thanks I just fixed that it works fine now.