Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Рекурсия, язык с++ (http://www.tehnari.ru/f41/t81341/)

гаяне 01.12.2012 16:00

Рекурсия, язык с++
 
Провести програмну реалізацію розрахунку приблизного значення
функції y, розклавши функцію sh(x) в ряд Тейлора, при цьому необхідно
вивести та застосувати рекурентне відношення для обрахування загальної
частини для кожного доданку ряду або його частки.

Y= x+ x3/3! + x5/5! + x7/7! ...

x3 означає х в третій степені і т.д. / - означає розділити

kreol 02.12.2012 03:17

Код:

#include <iostream>
#include <cmath>
using namespace std;

int factorial(int n) {
      int result = 1;
 
      for ( int i = 2; i <= n; i++ ) {
          result *= i;
      }
      return result;
}

float sh(float x, float result, int n) {
    if( n == 0 ) {
        return result;
    }
    result += pow(x, 2*n-1)/factorial(2*n-1);
    sh(x, result, n - 1);
}

int main() {
    int n;
    float x, result;
   
    cout << "write x = "; cin >> x; cout << endl;
    cout << "write n = "; cin >> n; cout << endl;
   
    result = sh(x, 0, n);
    cout << "sh(" << x << ") = " << result << endl;
   
    return 0;
}



Часовой пояс GMT +4, время: 03:34.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.