#include "stdio.h" #include "stdlib.h" #include #include #include "math.h" #include "string.h" #include #include #include #include #include #include #include #define TOL 1e-6 long double sums[10], nextS[10]; using namespace std; long double factorial ( unsigned long n ) { if ((n==0)||(n==1)) return 1; else return (long double)n*factorial(n-1); } int main ( int argc, char **argv ) { unsigned long n = 1; unsigned long i; long double sum_last = 1.; while ( 1 ) { nextS[0] = sums[0] + (powl(-1.,(long double)n) / powl((long double)n,1.)); nextS[1] = sums[1] + (powl(-1.,(long double)n) / powl((long double)n,2.)); nextS[2] = sums[2] + (powl(-1.,(long double)n) / powl((long double)n,3.)); nextS[3] = sums[3] + (powl(-1.,(long double)n) / powl((long double)n,(long double)n)); nextS[4] = sums[4] + (powl(-1.,(long double)n) / factorial(n)); nextS[5] = sums[5] + (powl(-1.,(long double)n) / log((long double)(n+1))); nextS[6] = sums[6] + (powl(-1.,(long double)n) / powl(2.,(long double)n)); nextS[7] = sums[7] + (powl(-1.,(long double)n) / exp((long double)n)); nextS[8] = sums[8] + (powl(-1.,(long double)n) / sin((long double)n)); nextS[9] = sums[9] + sum_last; sum_last = sums[9]; //Fibonacci n++; //cout.precision(51); for ( i = 0; i < 9; i++ ) { cout << nextS[i] << "\t"; } cout << nextS[9] / sums[9] << endl; if ( fabs(nextS[8]-sums[8]) < TOL && fabs(nextS[7]-sums[7]) < TOL && fabs(nextS[6]-sums[6]) < TOL && fabs(nextS[5]-sums[5]) < TOL && fabs(nextS[4]-sums[4]) < TOL && fabs(nextS[3]-sums[3]) < TOL && fabs(nextS[2]-sums[2]) < TOL && fabs(nextS[1]-sums[1]) < TOL && fabs(nextS[0]-sums[0]) < TOL ) break; for ( i = 0; i < 10; i++ ) { sums[i] = nextS[i]; } } // end of while loop return 1; // end of program }