blob: 74277f0930a95a6a4397e7d64978c9f861dd96dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <stdio.h>
#define EPSILON 0.001*0.001
#define MAX_ITERATIONS 100
int main(void) {
double x;
double result;
double last_elem;
int i;
printf("Input a number\n");
scanf("%lf", &x);
last_elem = result = x;
for (i = 1; i < MAX_ITERATIONS; ++i) {
last_elem = last_elem * x * x / (2*i * (2*i+1));
if (last_elem*last_elem <= EPSILON) break;
result += last_elem * ( (i%2 * -2) + 1 );
}
printf("result = %lf; iterations = %i; last_elem = %lf\n", result, i, last_elem);
return 0;
}
|