fork download
  1. #include <cmath>
  2. #include <iomanip>
  3. #include <iostream>
  4. using namespace std;
  5. int main()
  6. {
  7. int k; long double sum2,x,e,y=0,sum;
  8. cout << "Введите точность вычисления:" << endl;
  9. cin >> e;
  10. for (x=0.1; x<0.9;x+=0.1)
  11. {k=0;sum=0;
  12. while(1) {
  13. sum2=sum;
  14. y = (pow(-1, k) * pow(x, 2 * k + 1)) / (2 * k + 1);
  15. cout << "k = " << k << ", y = "<< y <<endl;
  16. sum += y;
  17. if(fabs(sum-sum2)<=e){
  18. break;}
  19. k++;
  20. }
  21. cout << endl << "atan("<<setprecision(1) << x <<")="<<setprecision(10)<<sum;
  22. }
  23. return 0;
  24. }
  25.  
Success #stdin #stdout 0s 4384KB
stdin
0.001
stdout
Введите точность вычисления:
k = 0,  y = 0.1
k = 1,  y = -0.000333333

atan(0.1)=0.09966666667k = 0,  y = 0.2
k = 1,  y = -0.002666666667
k = 2,  y = 6.4e-05

atan(0.2)=0.1973973333k = 0,  y = 0.3
k = 1,  y = -0.009
k = 2,  y = 0.000486

atan(0.3)=0.291486k = 0,  y = 0.4
k = 1,  y = -0.02133333333
k = 2,  y = 0.002048
k = 3,  y = -0.0002340571429

atan(0.4)=0.3804806095k = 0,  y = 0.5
k = 1,  y = -0.04166666667
k = 2,  y = 0.00625
k = 3,  y = -0.001116071429
k = 4,  y = 0.0002170138889

atan(0.5)=0.4636842758k = 0,  y = 0.6
k = 1,  y = -0.072
k = 2,  y = 0.015552
k = 3,  y = -0.003999085714
k = 4,  y = 0.001119744
k = 5,  y = -0.0003298155055

atan(0.6)=0.5403428428k = 0,  y = 0.7
k = 1,  y = -0.1143333333
k = 2,  y = 0.033614
k = 3,  y = -0.0117649
k = 4,  y = 0.004483734111
k = 5,  y = -0.001797569766
k = 6,  y = 0.0007453000801

atan(0.7)=0.6109472311k = 0,  y = 0.8
k = 1,  y = -0.1706666667
k = 2,  y = 0.065536
k = 3,  y = -0.02995931429
k = 4,  y = 0.01491308089
k = 5,  y = -0.007809031447
k = 6,  y = 0.004228890876
k = 7,  y = -0.002345624806
k = 8,  y = 0.001324588126
k = 9,  y = -0.0007585009899

atan(0.8)=0.6744634217