fork download
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cmath>
  4. using namespace std;
  5.  
  6. double e = exp(1);
  7.  
  8. double bin_pow(double x, int n){
  9. if(n == 1) return x;
  10. if(n%2 == 1) return bin_pow(x, n-1)*x;
  11. double b = bin_pow(x, n/2);
  12. return b*b;
  13. }
  14.  
  15. double Rn(int n){
  16. double v = e/(2*n+1);
  17. return bin_pow(v, 2*n+1)/(1-v*v);
  18. }
  19.  
  20. int main() {
  21. double eps, sum = 0, last=0;
  22. int n = 0;
  23. cin >> eps;
  24. do{
  25. n++;
  26. if(n > 1) last /= (2*n-2)*(2*n-1);
  27. else last = 1;
  28. sum += last;
  29. } while(Rn(n) > eps);
  30. cout << fixed << setprecision(10) << "Количество взятых членов ряда: " << n << "\nЗначение суммы: " << sum;
  31. return 0;
  32. }
Success #stdin #stdout 0s 15224KB
stdin
1e-10
stdout
Количество взятых членов ряда: 7
Значение суммы: 1.1752011936