Задача: Рекуррентная формула(произведение)

Тема в разделе "C/C++/C#", создана пользователем -, 14 ноя 2010.

  1. Гость

    никак не могу написать 4 лабу.
    подскажите, как написать прогу.
    по рекуррентной формуле необходимо вычислить произведение
    где П - произведение
    [​IMG]
     
  2. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    Код (C++):
    double y = 0;
    double x = 3.5;
    int n = 75;

    y += x;

    double p = 1;
    for (int i = 4; i <= n; i++)
    {    
    p *= log(1+(x/(7+x))*sqrt(i));
    }
    y += x/(7+x)*p;

    }
    cout << y;
     
  3. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    П, кстати - это произведение.
     
  4. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    pps. а в c++ есть тернарный оператор?
     
  5. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    [срач]
    и действительно... срач
     
  6. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Acorn
    А этот за тернарный не пройдет?
    (a)? b : c;
    "мальчики, не ссорьтесь"...
     
  7. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
  8. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    вычисление
    вынести за цикл - не зависит от n.
     
  9. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
  10. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    lazybiz
    да не сритесь, срач - в курилку. перепиши нормально,
    это неправильно.
    Имхо, его не сразу надо прибавлять, а умножать на произведение... И то, только для n>=4.
     
  11. flashkpi

    flashkpi Гость

    Если че, пиши, сделаю, а вы не ссорьтесь -))
    icq: 588002847
    email: flash_1989@ukr.net
     
  12. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Не надо никому ничего писать. Вот правильное решение:

    Код (C++):
    #include <iostream.h>
    #include <math.h>

    double  x   = 3.5;

    int main( void )
    {
    int     i, n;
    double  y, m;

    cin >> n;

    for ( m = 1.0, i = 4; i < n; i++ ) {
    m *= log( 1 + (x / (7 + x)) * sqrt( i ) );
    }
    y = x + x / (7 + x) * m;
    cout << y;

    return 0;
    }
    Хотя тут и решать то нечего...
     
  13. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    я просто "от руки" писал, не помню уже всех прелестей сишки.

    ps. алгоритм поправил (если я правильно понял суть формулы), срач убрал.
     
  14. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Да автор хотел что бы вы ему рекурсивную функцию сделали ;-))
    Ну мне так показалось из задания ;-)

    Добавлено:
    Код (C++):
    #include <iostream>

    using namespace std;

    double Funct (double x, double i, double max) //Рекурсивная функция x- аргумент, i - текущий щаг, max - максимальный шаг
    {
    if (i >max) return 1;
    return log(1+ (x/(7+x) * sqrt(i))) * Funct(x,i+1,max);
    }

    void main(void)
    {
    setlocale(LC_ALL,"Russian");
    double n;
    double x;
    cout<<"Введите х = ";
    cin>>x;
    cout<<"Введите n = ";
    cin>>n;
    cout<<"Результат: "<<((x+x/(7+x))*Funct(x,4,n));

    }
     
Загрузка...
Похожие Темы - Задача Рекуррентная формула(произведение)
  1. Янчик
    Ответов:
    0
    Просмотров:
    483
  2. TrishaRay
    Ответов:
    1
    Просмотров:
    781
  3. elzim
    Ответов:
    0
    Просмотров:
    929
  4. ShaoKahn
    Ответов:
    1
    Просмотров:
    1.122
  5. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.106

Поделиться этой страницей