PikingFish

3.4

Sep 17th, 2020
45
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <math.h>
  3. #include <iomanip>
  4.  
  5. using namespace std;
  6.  
  7. int precision = 15;
  8. int spacing = precision + 4;
  9.  
  10. bool processAnswer(string answer)
  11. {
  12.     return answer == "Y" || answer == "y"; 
  13. }
  14.  
  15. long double doCalculation(int n)
  16. {
  17.     if(n == 1)
  18.     {
  19.         return 1.0 / 3;
  20.     }
  21.     else
  22.     {
  23.         long double result = 1.0 / (2 * n + 1);
  24.        
  25.         while(n > 1)
  26.         {
  27.             result = 1 / (result + 2 * n - 1);
  28.             n--;
  29.         }
  30.        
  31.         return result;
  32.     }
  33. }
  34.  
  35. main()
  36. {
  37.     system(" chcp 1251 > nul");
  38.    
  39.     bool isFinished; //условие многократной работы программы
  40.     string answer; //объявление переменных
  41.     int n;
  42.    
  43.     do
  44.     {
  45.         cout << endl << "Натуральное n = ";
  46.         cin >> n;
  47.         cout << "Вычисленное значение y = ";
  48.         cout << fixed << setw(spacing) << setprecision(precision) << doCalculation(n);
  49.         cout << endl << "Продолжить работу? (y,n)"; //многократная работа
  50.         cin >> answer;
  51.        
  52.         isFinished = processAnswer(answer);
  53.     }
  54.     while(isFinished);
  55. }
  56.  
RAW Paste Data Copied