Euler's constant 0.5772...: Difference between revisions

no edit summary
m (Added language identifier.)
No edit summary
Line 859:
Compared to the true value: 0.5772156649015328...
</pre>
 
=={{header|Delphi}}==
{{works with|Delphi|6.0}}
{{libheader|SysUtils,StdCtrls}}
This programs demonstrates the basic method of calculating the Euler number. It illustrates how the number of iterations increase the accuracy.
<syntaxhighlight lang="Delphi">
 
function ComputeEuler(N: int64): double;
{Compute Eurler number with N-number of iterations}
var I: integer;
var A: double;
begin
Result:=0;
for I:=1 to N-1 do
Result:=Result + 1 / I;
A:=Ln(N + 0.5 + 1/(24.0*N));
Result:=Result-A;
end;
 
 
 
procedure ShowEulersNumber(Memo: TMemo);
{Show Euler numbers at various levels of precision}
var Euler,G,A,Error: double;
var N: integer;
const Correct =0.57721566490153286060651209008240243104215933593992;
 
procedure ShowEulerError(N: int64);
{Show Euler number and Error}
begin
Euler:=ComputeEuler(N);
Error:=Correct-Euler;
Memo.Lines.Add('N = '+FloatToStrF(N,ffNumber,18,0));
Memo.Lines.Add('Euler='+FloatToStrF(Euler,ffFixed,18,18));
Memo.Lines.Add('Error='+FloatToStrF(Error,ffFixed,18,18));
Memo.Lines.Add('');
end;
 
begin
{Compute Euler number with iterations ranging 10 to 10^9}
for N:=1 to 9 do
begin
ShowEulerError(Trunc(Power(10,N)));
end;
 
end;
 
 
 
</syntaxhighlight>
{{out}}
<pre>
N = 10
Euler=0.477196250122325250
Error=0.100019414779207616
 
N = 100
Euler=0.567215644212103243
Error=0.010000020689429618
 
N = 1,000
Euler=0.576215664880711742
Error=0.001000000020821119
 
N = 10,000
Euler=0.577115664901475256
Error=0.000100000000057605
 
N = 100,000
Euler=0.577205664901386584
Error=0.000010000000146277
 
N = 1,000,000
Euler=0.577214664900591146
Error=0.000001000000941715
 
N = 10,000,000
Euler=0.577215564898391875
Error=0.000000100003140985
 
N = 100,000,000
Euler=0.577215654895336883
Error=0.000000010006195978
 
N = 1,000,000,000
Euler=0.577215664060567235
Error=0.000000000840965626
 
Elapsed Time: 4.716 Sec.
</pre>
 
 
=={{header|J}}==
465

edits