Calculating the value of e: Difference between revisions
Content added Content deleted
m (→{{header|J}}) |
(→solution 1: make use of all double precision bits) |
||
Line 576: | Line 576: | ||
#include <math.h> |
#include <math.h> |
||
int main( |
int main(void) |
||
{ |
{ |
||
double e; |
double e; |
||
Line 590: | Line 590: | ||
// The fast and independed method: e = lim (1 + 1/n)**n |
// The fast and independed method: e = lim (1 + 1/n)**n |
||
// |
// |
||
e = 1.0 + 0x1p-26; |
|||
for (int i = 0; i < 26; i++) |
|||
for (int i = 0; i < 13; i++) |
|||
e *= e; |
e *= e; |
||
printf("Euler constant e = %.16lf\n", e); |
printf("Euler constant e = %.16lf\n", e); |
||
Line 609: | Line 608: | ||
for (int i = N - 1; i > 0; i--) |
for (int i = N - 1; i > 0; i--) |
||
e += a[i]; |
e += a[i]; |
||
printf("Euler constant e = %.16lf\n", e); |
printf("Euler constant e = %.16lf\n", e); |
||
return 0; |
return 0; |
||
Line 619: | Line 618: | ||
Euler constant e = 2.7182818284590451 |
Euler constant e = 2.7182818284590451 |
||
Euler constant e = 2. |
Euler constant e = 2.7182818081824731 |
||
Euler constant e = 2.7182818284590455 |
Euler constant e = 2.7182818284590455 |
||
</pre> |
</pre> |