Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <ctime>
- #pragma warning(disable: 4996)
- using namespace std;
- int main()
- {
- long double eps;
- printf("%s","Enter an enpsilon number : ");
- while (true)
- {
- if (scanf_s("%lf", &eps))
- {
- break;
- }
- else
- {
- printf("%s%c", "Retry ",'\n');
- }
- }
- srand(time(0));
- double x;
- x =(((double)rand())/10000)/5-double(1);
- //x = 0.999;
- printf("%s%lf%c", "Generated random x = ", x,'\n');
- long double sum = x, multiplier = 0,current=x;
- int n = 1;
- while (true)
- {
- multiplier = (x*x) * (2*n-1) / (2*n + 1);
- n++;
- if (abs(2*current*(1-multiplier)) <eps)
- {
- break;
- }
- current *= multiplier;
- sum += current;
- }
- sum = 2*sum;
- printf("%s%.16lf%c","Result of program: ", sum,'\n');
- printf("%s%lf%c","Result of standart function: ", log((1+x)/(1-x)),'\n');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement