• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Рекурсия, язык с++

гаяне

Ученик
Регистрация
12 Ноя 2012
Сообщения
8
Реакции
0
Баллы
0
Рекурсия, язык с++

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

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

x3 означає х в третій степені і т.д. / - означає розділити
 
Код:
#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;
}
 
Назад
Сверху